{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "android_csv = pd.pandas.read_csv(\"Android.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Access Gained</th>\n",
       "      <th>Attack Origin</th>\n",
       "      <th>Authentication Required</th>\n",
       "      <th>Availability</th>\n",
       "      <th>CVE ID</th>\n",
       "      <th>CVE Page</th>\n",
       "      <th>CWE ID</th>\n",
       "      <th>Complexity</th>\n",
       "      <th>Confidentiality</th>\n",
       "      <th>Integrity</th>\n",
       "      <th>Known Exploits</th>\n",
       "      <th>Publish Date</th>\n",
       "      <th>Score</th>\n",
       "      <th>Summmary</th>\n",
       "      <th>Update Date</th>\n",
       "      <th>Vulnerability Classification</th>\n",
       "      <th>codeLink</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2009-3698</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2009-3698/</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Medium</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2009-10-14</td>\n",
       "      <td>4.3</td>\n",
       "      <td>An unspecified function in the Dalvik API in A...</td>\n",
       "      <td>2018-10-10</td>\n",
       "      <td>DoS</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2009-2999</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2009-2999/</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Medium</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2009-10-14</td>\n",
       "      <td>4.3</td>\n",
       "      <td>The com.android.phone process in Android 1.5 C...</td>\n",
       "      <td>2018-10-10</td>\n",
       "      <td>DoS</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2009-2656</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2009-2656/</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Low</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2009-08-03</td>\n",
       "      <td>5.0</td>\n",
       "      <td>Unspecified vulnerability in the com.android.p...</td>\n",
       "      <td>2017-09-15</td>\n",
       "      <td>DoS</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2009-2348</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2009-2348/</td>\n",
       "      <td>CWE-94</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2009-07-17</td>\n",
       "      <td>6.9</td>\n",
       "      <td>Android 1.5 CRBxx allows local users to bypass...</td>\n",
       "      <td>2018-10-10</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2009-1754</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2009-1754/</td>\n",
       "      <td>CWE-287</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2009-05-26</td>\n",
       "      <td>4.3</td>\n",
       "      <td>The PackageManagerService class in services/ja...</td>\n",
       "      <td>2012-02-29</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2010-1807</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2010-1807/</td>\n",
       "      <td>CWE-20</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2010-09-10</td>\n",
       "      <td>9.3</td>\n",
       "      <td>WebKit in Apple Safari 4.x before 4.1.2 and 5....</td>\n",
       "      <td>2017-09-18</td>\n",
       "      <td>DoS Exec Code</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2011-3975</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2011-3975/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>High</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2011-10-03</td>\n",
       "      <td>2.6</td>\n",
       "      <td>A certain HTC update for Android 2.3.4 build G...</td>\n",
       "      <td>2017-08-28</td>\n",
       "      <td>+Info</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2011-2357</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2011-2357/</td>\n",
       "      <td>CWE-20</td>\n",
       "      <td>Medium</td>\n",
       "      <td>None</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2011-08-12</td>\n",
       "      <td>4.3</td>\n",
       "      <td>Cross-application scripting vulnerability in t...</td>\n",
       "      <td>2018-10-09</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2011-2344</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2011-2344/</td>\n",
       "      <td>CWE-310</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2011-07-08</td>\n",
       "      <td>10.0</td>\n",
       "      <td>Android Picasa in Android 3.0 and 2.x through ...</td>\n",
       "      <td>2011-07-08</td>\n",
       "      <td>+Priv</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Admin</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2011-1823</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2011-1823/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2011-06-09</td>\n",
       "      <td>7.2</td>\n",
       "      <td>The vold volume manager daemon on Android 3.0 ...</td>\n",
       "      <td>2017-08-16</td>\n",
       "      <td>Exec Code +Priv Mem. Corr. Bypass</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2011-1149</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2011-1149/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2011-04-21</td>\n",
       "      <td>7.2</td>\n",
       "      <td>Android before 2.3 does not properly restrict ...</td>\n",
       "      <td>2011-04-22</td>\n",
       "      <td>+Priv Bypass</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2011-0680</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2011-0680/</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2011-01-31</td>\n",
       "      <td>5.0</td>\n",
       "      <td>data/WorkingMessage.java in the Mms applicatio...</td>\n",
       "      <td>2017-08-16</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2011-0419</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2011-0419/</td>\n",
       "      <td>CWE-399</td>\n",
       "      <td>Medium</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2011-05-16</td>\n",
       "      <td>4.3</td>\n",
       "      <td>Stack consumption vulnerability in the fnmatch...</td>\n",
       "      <td>2018-01-05</td>\n",
       "      <td>DoS</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2010-4804</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2010-4804/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2011-06-09</td>\n",
       "      <td>4.3</td>\n",
       "      <td>The Android browser in Android before 2.3.4 al...</td>\n",
       "      <td>2011-10-26</td>\n",
       "      <td>+Info</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2008-7298</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2008-7298/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>None</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2011-08-09</td>\n",
       "      <td>5.8</td>\n",
       "      <td>The Android browser in Android cannot properly...</td>\n",
       "      <td>2012-08-02</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2012-6301</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2012-6301/</td>\n",
       "      <td>CWE-20</td>\n",
       "      <td>Low</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2012-12-10</td>\n",
       "      <td>5.0</td>\n",
       "      <td>The Browser application in Android 4.0.3 allow...</td>\n",
       "      <td>2012-12-11</td>\n",
       "      <td>DoS</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2012-4222</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2012-4222/</td>\n",
       "      <td>CWE-20</td>\n",
       "      <td>Medium</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2012-11-30</td>\n",
       "      <td>4.3</td>\n",
       "      <td>drivers/gpu/msm/kgsl.c in the Qualcomm Innovat...</td>\n",
       "      <td>2013-10-11</td>\n",
       "      <td>DoS</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2012-4221</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2012-4221/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2012-11-30</td>\n",
       "      <td>6.8</td>\n",
       "      <td>Integer overflow in diagchar_core.c in the Qua...</td>\n",
       "      <td>2013-10-11</td>\n",
       "      <td>DoS Exec Code Overflow</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2012-4220</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2012-4220/</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2012-11-30</td>\n",
       "      <td>6.8</td>\n",
       "      <td>diagchar_core.c in the Qualcomm Innovation Cen...</td>\n",
       "      <td>2013-10-10</td>\n",
       "      <td>DoS Exec Code</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2012-3979</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2012-3979/</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2012-08-29</td>\n",
       "      <td>6.8</td>\n",
       "      <td>Mozilla Firefox before 15.0 on Android does no...</td>\n",
       "      <td>2013-03-25</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2011-4276</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2011-4276/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2012-01-25</td>\n",
       "      <td>4.3</td>\n",
       "      <td>The Bluetooth service (com/android/phone/Bluet...</td>\n",
       "      <td>2012-01-26</td>\n",
       "      <td>+Info</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2011-3918</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2011-3918/</td>\n",
       "      <td>CWE-399</td>\n",
       "      <td>Low</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2012-10-07</td>\n",
       "      <td>7.8</td>\n",
       "      <td>The Zygote process in Android 4.0.3 and earlie...</td>\n",
       "      <td>2013-08-03</td>\n",
       "      <td>DoS</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2011-3874</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2011-3874/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2012-01-27</td>\n",
       "      <td>9.3</td>\n",
       "      <td>Stack-based buffer overflow in libsysutils in ...</td>\n",
       "      <td>2012-02-06</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2013-6271</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2013-6271/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2013-12-14</td>\n",
       "      <td>8.8</td>\n",
       "      <td>Android 4.0 through 4.3 allows attackers to by...</td>\n",
       "      <td>2013-12-18</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2013-5933</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2013-5933/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2013-09-25</td>\n",
       "      <td>6.9</td>\n",
       "      <td>Stack-based buffer overflow in the sub_E110 fu...</td>\n",
       "      <td>2013-09-25</td>\n",
       "      <td>DoS Overflow +Priv Mem. Corr.</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2013-4787</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2013-4787/</td>\n",
       "      <td>CWE-310</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2013-07-09</td>\n",
       "      <td>9.3</td>\n",
       "      <td>Android 1.6 Donut through 4.2 Jelly Bean does ...</td>\n",
       "      <td>2013-10-11</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2013-4777</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2013-4777/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2013-09-25</td>\n",
       "      <td>6.9</td>\n",
       "      <td>A certain configuration of Android 2.3.7 on th...</td>\n",
       "      <td>2016-12-07</td>\n",
       "      <td>+Priv</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>Admin</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2013-3666</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2013-3666/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2013-05-29</td>\n",
       "      <td>7.2</td>\n",
       "      <td>The LG Hidden Menu component for Android on th...</td>\n",
       "      <td>2013-05-31</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>Admin</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2011-1352</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2011-1352/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2013-02-05</td>\n",
       "      <td>6.9</td>\n",
       "      <td>The PowerVR SGX driver in Android before 2.3.6...</td>\n",
       "      <td>2013-02-08</td>\n",
       "      <td>Overflow +Priv Mem. Corr.</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2011-1350</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2011-1350/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2013-02-05</td>\n",
       "      <td>7.1</td>\n",
       "      <td>The PowerVR SGX driver in Android before 2.3.6...</td>\n",
       "      <td>2013-02-07</td>\n",
       "      <td>+Info</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2533</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2019-2015</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2019-2015/</td>\n",
       "      <td>CWE-787</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-06-19</td>\n",
       "      <td>9.3</td>\n",
       "      <td>In rw_t3t_act_handle_check_rsp of rw_t3t.cc, t...</td>\n",
       "      <td>2019-06-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2534</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2019-2014</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2019-2014/</td>\n",
       "      <td>CWE-787</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-06-19</td>\n",
       "      <td>9.3</td>\n",
       "      <td>In rw_t3t_handle_get_sc_poll_rsp of rw_t3t.cc,...</td>\n",
       "      <td>2019-06-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2535</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2019-2013</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2019-2013/</td>\n",
       "      <td>CWE-787</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-06-19</td>\n",
       "      <td>9.3</td>\n",
       "      <td>In rw_t3t_act_handle_sro_rsp of rw_t3t.cc, the...</td>\n",
       "      <td>2019-06-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2536</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2019-2012</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2019-2012/</td>\n",
       "      <td>CWE-787</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-06-19</td>\n",
       "      <td>9.3</td>\n",
       "      <td>In rw_t3t_act_handle_fmt_rsp of rw_t3t.cc, the...</td>\n",
       "      <td>2019-06-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2537</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2019-2011</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2019-2011/</td>\n",
       "      <td>CWE-787</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-06-19</td>\n",
       "      <td>7.2</td>\n",
       "      <td>In readNullableNativeHandleNoDup of Parcel.cpp...</td>\n",
       "      <td>2019-06-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2538</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2019-2010</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2019-2010/</td>\n",
       "      <td>CWE-787</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-06-19</td>\n",
       "      <td>7.2</td>\n",
       "      <td>In phNxpNciHal_process_ext_rsp of phNxpNciHal_...</td>\n",
       "      <td>2019-06-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2539</th>\n",
       "      <td>None</td>\n",
       "      <td>Local Network</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2019-2009</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2019-2009/</td>\n",
       "      <td>CWE-787</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-06-19</td>\n",
       "      <td>8.3</td>\n",
       "      <td>In l2c_lcc_proc_pdu of l2c_fcr.cc, there is a ...</td>\n",
       "      <td>2019-06-20</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2540</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2019-2008</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2019-2008/</td>\n",
       "      <td>CWE-362</td>\n",
       "      <td>High</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-06-19</td>\n",
       "      <td>7.6</td>\n",
       "      <td>In createEffect of AudioFlinger.cpp, there is ...</td>\n",
       "      <td>2019-06-20</td>\n",
       "      <td>Mem. Corr.</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2541</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2019-2007</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2019-2007/</td>\n",
       "      <td>CWE-190</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-06-19</td>\n",
       "      <td>10.0</td>\n",
       "      <td>In getReadIndex and getWriteIndex of FifoContr...</td>\n",
       "      <td>2019-06-20</td>\n",
       "      <td>Overflow</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2542</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2019-2006</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2019-2006/</td>\n",
       "      <td>CWE-416</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-06-19</td>\n",
       "      <td>10.0</td>\n",
       "      <td>In serviceDied of HalDeathHandlerHidl.cpp, the...</td>\n",
       "      <td>2019-06-20</td>\n",
       "      <td>Mem. Corr.</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2543</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2019-2005</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2019-2005/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-06-19</td>\n",
       "      <td>6.8</td>\n",
       "      <td>In onPermissionGrantResult of GrantPermissions...</td>\n",
       "      <td>2019-06-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2544</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2019-2004</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2019-2004/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-06-19</td>\n",
       "      <td>4.9</td>\n",
       "      <td>In publishKeyEvent, publishMotionEvent and sen...</td>\n",
       "      <td>2019-06-20</td>\n",
       "      <td>+Info</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2545</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2019-2003</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2019-2003/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-06-19</td>\n",
       "      <td>9.3</td>\n",
       "      <td>In addLinks of Linkify.java, there is a possib...</td>\n",
       "      <td>2019-06-20</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2546</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2019-1999</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2019-1999/</td>\n",
       "      <td>CWE-415</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-02-28</td>\n",
       "      <td>7.2</td>\n",
       "      <td>In binder_alloc_free_page of binder_alloc.c, t...</td>\n",
       "      <td>2019-05-14</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2547</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2019-1990</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2019-1990/</td>\n",
       "      <td>CWE-787</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-06-19</td>\n",
       "      <td>9.3</td>\n",
       "      <td>In ihevcd_fmt_conv_420sp_to_420p of ihevcd_fmt...</td>\n",
       "      <td>2019-06-20</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2548</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2019-1989</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2019-1989/</td>\n",
       "      <td>CWE-787</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-06-19</td>\n",
       "      <td>9.3</td>\n",
       "      <td>In ih264d_fmt_conv_420sp_to_420p of ih264d_for...</td>\n",
       "      <td>2019-06-20</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2549</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2019-1985</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2019-1985/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-06-19</td>\n",
       "      <td>7.2</td>\n",
       "      <td>In findAvailSpellCheckerLocked of TextServices...</td>\n",
       "      <td>2019-06-20</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2550</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2018-9587</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9587/</td>\n",
       "      <td>CWE-552</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-02-11</td>\n",
       "      <td>4.4</td>\n",
       "      <td>In savePhotoFromUriToUri of ContactPhotoUtils....</td>\n",
       "      <td>2019-10-02</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2551</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2018-9582</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9582/</td>\n",
       "      <td>CWE-610</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-02-11</td>\n",
       "      <td>4.6</td>\n",
       "      <td>In package installer in Android-8.0, Android-8...</td>\n",
       "      <td>2019-10-02</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2552</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9581</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9581/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-09-27</td>\n",
       "      <td>2.1</td>\n",
       "      <td>In WiFi, the RSSI value and SSID information i...</td>\n",
       "      <td>2019-10-02</td>\n",
       "      <td>+Info</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2553</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9564</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9564/</td>\n",
       "      <td>CWE-125</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-06-19</td>\n",
       "      <td>7.1</td>\n",
       "      <td>In llcp_util_parse_link_params of llcp_util.cc...</td>\n",
       "      <td>2019-06-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2554</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9563</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9563/</td>\n",
       "      <td>CWE-125</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-06-19</td>\n",
       "      <td>7.1</td>\n",
       "      <td>In llcp_util_parse_cc of llcp_util.cc, there i...</td>\n",
       "      <td>2019-06-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2555</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9561</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9561/</td>\n",
       "      <td>CWE-125</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-06-19</td>\n",
       "      <td>7.1</td>\n",
       "      <td>In llcp_util_parse_connect of llcp_util.cc, th...</td>\n",
       "      <td>2019-06-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2556</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2018-9425</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9425/</td>\n",
       "      <td>CWE-269</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-09-27</td>\n",
       "      <td>4.6</td>\n",
       "      <td>In Platform, there is a possible bypass of use...</td>\n",
       "      <td>2019-10-02</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2557</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-6271</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-6271/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-02-13</td>\n",
       "      <td>9.3</td>\n",
       "      <td>NVIDIA Tegra OpenMax driver (libnvomx) contain...</td>\n",
       "      <td>2019-10-02</td>\n",
       "      <td>DoS Overflow</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2558</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-6268</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-6268/</td>\n",
       "      <td>CWE-416</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-02-13</td>\n",
       "      <td>9.3</td>\n",
       "      <td>NVIDIA Tegra library contains a vulnerability ...</td>\n",
       "      <td>2019-04-02</td>\n",
       "      <td>DoS</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2559</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-6267</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-6267/</td>\n",
       "      <td>CWE-20</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-02-13</td>\n",
       "      <td>9.3</td>\n",
       "      <td>NVIDIA Tegra OpenMax driver (libnvomx) contain...</td>\n",
       "      <td>2019-10-02</td>\n",
       "      <td>DoS</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2560</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-6243</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-6243/</td>\n",
       "      <td>CWE-20</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-05-07</td>\n",
       "      <td>7.2</td>\n",
       "      <td>NVIDIA Tegra TLK Widevine Trust Application co...</td>\n",
       "      <td>2019-10-02</td>\n",
       "      <td>DoS Exec Code</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2561</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-6241</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-6241/</td>\n",
       "      <td>CWE-20</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-01-31</td>\n",
       "      <td>7.2</td>\n",
       "      <td>NVIDIA Tegra Gralloc module contains a vulnera...</td>\n",
       "      <td>2019-10-02</td>\n",
       "      <td>DoS Exec Code</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2562</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-6240</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-6240/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2019-09-06</td>\n",
       "      <td>7.2</td>\n",
       "      <td>NVIDIA Tegra contains a vulnerability in BootR...</td>\n",
       "      <td>2019-09-10</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2563 rows × 17 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     Access Gained Attack Origin Authentication Required Availability  \\\n",
       "0             None        Remote            Not required      Partial   \n",
       "1             None        Remote            Not required      Partial   \n",
       "2             None        Remote            Not required      Partial   \n",
       "3             None         Local            Not required     Complete   \n",
       "4             None        Remote            Not required         None   \n",
       "...            ...           ...                     ...          ...   \n",
       "2558          None        Remote            Not required     Complete   \n",
       "2559          None        Remote            Not required     Complete   \n",
       "2560          None         Local            Not required     Complete   \n",
       "2561          None         Local            Not required     Complete   \n",
       "2562          None         Local            Not required     Complete   \n",
       "\n",
       "             CVE ID                                       CVE Page   CWE ID  \\\n",
       "0     CVE-2009-3698  https://www.cvedetails.com/cve/CVE-2009-3698/      NaN   \n",
       "1     CVE-2009-2999  https://www.cvedetails.com/cve/CVE-2009-2999/      NaN   \n",
       "2     CVE-2009-2656  https://www.cvedetails.com/cve/CVE-2009-2656/      NaN   \n",
       "3     CVE-2009-2348  https://www.cvedetails.com/cve/CVE-2009-2348/   CWE-94   \n",
       "4     CVE-2009-1754  https://www.cvedetails.com/cve/CVE-2009-1754/  CWE-287   \n",
       "...             ...                                            ...      ...   \n",
       "2558  CVE-2018-6268  https://www.cvedetails.com/cve/CVE-2018-6268/  CWE-416   \n",
       "2559  CVE-2018-6267  https://www.cvedetails.com/cve/CVE-2018-6267/   CWE-20   \n",
       "2560  CVE-2018-6243  https://www.cvedetails.com/cve/CVE-2018-6243/   CWE-20   \n",
       "2561  CVE-2018-6241  https://www.cvedetails.com/cve/CVE-2018-6241/   CWE-20   \n",
       "2562  CVE-2018-6240  https://www.cvedetails.com/cve/CVE-2018-6240/  CWE-264   \n",
       "\n",
       "     Complexity Confidentiality Integrity  Known Exploits Publish Date  Score  \\\n",
       "0        Medium            None      None             NaN   2009-10-14    4.3   \n",
       "1        Medium            None      None             NaN   2009-10-14    4.3   \n",
       "2           Low            None      None             NaN   2009-08-03    5.0   \n",
       "3        Medium        Complete  Complete             NaN   2009-07-17    6.9   \n",
       "4        Medium         Partial      None             NaN   2009-05-26    4.3   \n",
       "...         ...             ...       ...             ...          ...    ...   \n",
       "2558     Medium        Complete  Complete             NaN   2019-02-13    9.3   \n",
       "2559     Medium        Complete  Complete             NaN   2019-02-13    9.3   \n",
       "2560        Low        Complete  Complete             NaN   2019-05-07    7.2   \n",
       "2561        Low        Complete  Complete             NaN   2019-01-31    7.2   \n",
       "2562        Low        Complete  Complete             NaN   2019-09-06    7.2   \n",
       "\n",
       "                                               Summmary Update Date  \\\n",
       "0     An unspecified function in the Dalvik API in A...  2018-10-10   \n",
       "1     The com.android.phone process in Android 1.5 C...  2018-10-10   \n",
       "2     Unspecified vulnerability in the com.android.p...  2017-09-15   \n",
       "3     Android 1.5 CRBxx allows local users to bypass...  2018-10-10   \n",
       "4     The PackageManagerService class in services/ja...  2012-02-29   \n",
       "...                                                 ...         ...   \n",
       "2558  NVIDIA Tegra library contains a vulnerability ...  2019-04-02   \n",
       "2559  NVIDIA Tegra OpenMax driver (libnvomx) contain...  2019-10-02   \n",
       "2560  NVIDIA Tegra TLK Widevine Trust Application co...  2019-10-02   \n",
       "2561  NVIDIA Tegra Gralloc module contains a vulnera...  2019-10-02   \n",
       "2562  NVIDIA Tegra contains a vulnerability in BootR...  2019-09-10   \n",
       "\n",
       "     Vulnerability Classification codeLink  \n",
       "0                            DoS       NaN  \n",
       "1                            DoS       NaN  \n",
       "2                            DoS       NaN  \n",
       "3                         Bypass       NaN  \n",
       "4                             NaN      NaN  \n",
       "...                           ...      ...  \n",
       "2558                         DoS       NaN  \n",
       "2559                         DoS       NaN  \n",
       "2560               DoS Exec Code       NaN  \n",
       "2561               DoS Exec Code       NaN  \n",
       "2562                          NaN      NaN  \n",
       "\n",
       "[2563 rows x 17 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "android_csv"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "linkNotNull = android_csv[android_csv['codeLink'].notnull()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Access Gained</th>\n",
       "      <th>Attack Origin</th>\n",
       "      <th>Authentication Required</th>\n",
       "      <th>Availability</th>\n",
       "      <th>CVE ID</th>\n",
       "      <th>CVE Page</th>\n",
       "      <th>CWE ID</th>\n",
       "      <th>Complexity</th>\n",
       "      <th>Confidentiality</th>\n",
       "      <th>Integrity</th>\n",
       "      <th>Known Exploits</th>\n",
       "      <th>Publish Date</th>\n",
       "      <th>Score</th>\n",
       "      <th>Summmary</th>\n",
       "      <th>Update Date</th>\n",
       "      <th>Vulnerability Classification</th>\n",
       "      <th>codeLink</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2014-8610</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2014-8610/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2014-12-15</td>\n",
       "      <td>3.3</td>\n",
       "      <td>AndroidManifest.xml in Android before 5.0.0 do...</td>\n",
       "      <td>2014-12-16</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/pack...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>Admin</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2014-8609</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2014-8609/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2014-12-15</td>\n",
       "      <td>7.2</td>\n",
       "      <td>The addAccount method in src/com/android/setti...</td>\n",
       "      <td>2014-12-16</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/pack...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2014-8507</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2014-8507/</td>\n",
       "      <td>CWE-89</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2014-12-15</td>\n",
       "      <td>7.5</td>\n",
       "      <td>Multiple SQL injection vulnerabilities in the ...</td>\n",
       "      <td>2015-08-06</td>\n",
       "      <td>Exec Code Sql</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2014-7911</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2014-7911/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2014-12-15</td>\n",
       "      <td>7.2</td>\n",
       "      <td>luni/src/main/java/java/io/ObjectInputStream.j...</td>\n",
       "      <td>2014-12-16</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/libc...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2013-7372</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2013-7372/</td>\n",
       "      <td>CWE-310</td>\n",
       "      <td>Low</td>\n",
       "      <td>None</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2014-04-29</td>\n",
       "      <td>5.0</td>\n",
       "      <td>The engineNextBytes function in classlib/modul...</td>\n",
       "      <td>2014-04-30</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/libc...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>93</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-6575</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-6575/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10.0</td>\n",
       "      <td>SampleTable.cpp in libstagefright in Android b...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>DoS Exec Code Overflow Mem. Corr.</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>121</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3864</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3864/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10.0</td>\n",
       "      <td>Integer underflow in the MPEG4Extractor::parse...</td>\n",
       "      <td>2017-09-15</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>122</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3863</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3863/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>Multiple integer overflows in the Blob class i...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/syst...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>124</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2015-3861</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3861/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>5.0</td>\n",
       "      <td>Multiple integer overflows in the addVorbisCod...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>DoS Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>125</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3860</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3860/</td>\n",
       "      <td>CWE-284</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>7.2</td>\n",
       "      <td>packages/Keyguard/res/layout/keyguard_password...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>126</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3858</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3858/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>The checkDestination function in internal/tele...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>127</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3849</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3849/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>The Region_createFromParcel function in core/j...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>129</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2015-3845</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3845/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>6.8</td>\n",
       "      <td>The Parcel::appendFrom function in libs/binder...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>130</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2015-3844</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3844/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>6.8</td>\n",
       "      <td>The getProcessRecordLocked method in services/...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>131</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3843</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3843/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>The SIM Toolkit (STK) framework in Android bef...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>132</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3842</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3842/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>Multiple heap-based buffer overflows in libeff...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>133</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3837</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3837/</td>\n",
       "      <td>CWE-20</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>The OpenSSLX509Certificate class in org/conscr...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>134</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3836</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3836/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10.0</td>\n",
       "      <td>The Parse_wave function in arm-wt-22k/lib_src/...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>DoS Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>135</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3835</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3835/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>Buffer overflow in the OMXNodeInstance::emptyB...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>136</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3834</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3834/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10.0</td>\n",
       "      <td>Multiple integer overflows in the BnHDCP::onTr...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>137</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2015-3833</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3833/</td>\n",
       "      <td>CWE-284</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>4.3</td>\n",
       "      <td>The getRunningAppProcesses function in service...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>138</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3832</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3832/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10.0</td>\n",
       "      <td>Multiple buffer overflows in MPEG4Extractor.cp...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>139</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3831</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3831/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>Buffer overflow in the readAt function in BpMe...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>140</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3829</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3829/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10.0</td>\n",
       "      <td>Off-by-one error in the MPEG4Extractor::parseC...</td>\n",
       "      <td>2017-09-20</td>\n",
       "      <td>DoS Exec Code Overflow Mem. Corr.</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>141</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3828</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3828/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10.0</td>\n",
       "      <td>The MPEG4Extractor::parse3GPPMetaData function...</td>\n",
       "      <td>2017-09-20</td>\n",
       "      <td>DoS Exec Code Overflow Mem. Corr.</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>142</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3827</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3827/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>The MPEG4Extractor::parseChunk function in MPE...</td>\n",
       "      <td>2017-09-20</td>\n",
       "      <td>DoS Exec Code Overflow Mem. Corr.</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>143</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2015-3826</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3826/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Low</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>5.0</td>\n",
       "      <td>The MPEG4Extractor::parse3GPPMetaData function...</td>\n",
       "      <td>2017-09-20</td>\n",
       "      <td>DoS Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>144</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3824</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3824/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10.0</td>\n",
       "      <td>The MPEG4Extractor::parseChunk function in MPE...</td>\n",
       "      <td>2017-09-20</td>\n",
       "      <td>DoS Exec Code Overflow Mem. Corr.</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>159</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2015-1541</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-1541/</td>\n",
       "      <td>CWE-284</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>4.3</td>\n",
       "      <td>The AppWidgetServiceImpl implementation in com...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>160</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-1539</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-1539/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10.0</td>\n",
       "      <td>Multiple integer underflows in the ESDS::parse...</td>\n",
       "      <td>2017-09-20</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1690</th>\n",
       "      <td>None</td>\n",
       "      <td>Local Network</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9505</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9505/</td>\n",
       "      <td>CWE-125</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>6.1</td>\n",
       "      <td>In mca_ccb_hdl_req of mca_cact.cc, there is a ...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/syst...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1691</th>\n",
       "      <td>None</td>\n",
       "      <td>Local Network</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-9504</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9504/</td>\n",
       "      <td>CWE-787</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>8.3</td>\n",
       "      <td>In sdp_copy_raw_data of sdp_discovery.cc, ther...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/syst...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1692</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9503</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9503/</td>\n",
       "      <td>CWE-125</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>7.8</td>\n",
       "      <td>In rfc_process_mx_message of rfc_ts_frames.cc,...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/syst...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1693</th>\n",
       "      <td>None</td>\n",
       "      <td>Local Network</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9502</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9502/</td>\n",
       "      <td>CWE-125</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>6.1</td>\n",
       "      <td>In rfc_process_mx_message of rfc_ts_frames.cc,...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/syst...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1694</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-9501</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9501/</td>\n",
       "      <td>CWE-668</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>7.2</td>\n",
       "      <td>In the SetupWizard, there is a possible Factor...</td>\n",
       "      <td>2019-10-02</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>https://android.googlesource.com/platform/pack...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1695</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9499</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9499/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>4.9</td>\n",
       "      <td>In readVector of iCrypto.cpp, there is a possi...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>+Info</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1696</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-9498</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9498/</td>\n",
       "      <td>CWE-787</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>9.3</td>\n",
       "      <td>In SkSampler::Fill of SkSampler.cpp, there is ...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1697</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-9497</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9497/</td>\n",
       "      <td>CWE-787</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>9.3</td>\n",
       "      <td>In impeg2_fmt_conv_yuv420p_to_yuv420sp_uv_av8 ...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1698</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-9496</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9496/</td>\n",
       "      <td>CWE-787</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>9.3</td>\n",
       "      <td>In ixheaacd_real_synth_fft_p3 of ixheaacd_esbr...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1699</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9493</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9493/</td>\n",
       "      <td>CWE-89</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>2.1</td>\n",
       "      <td>In the content provider of the download manage...</td>\n",
       "      <td>2018-11-21</td>\n",
       "      <td>Sql</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1700</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-9492</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9492/</td>\n",
       "      <td>CWE-862</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>7.2</td>\n",
       "      <td>In checkGrantUriPermissionLocked of ActivityMa...</td>\n",
       "      <td>2019-10-02</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1701</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-9491</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9491/</td>\n",
       "      <td>CWE-190</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>9.3</td>\n",
       "      <td>In AMediaCodecCryptoInfo_new of NdkMediaCodec....</td>\n",
       "      <td>2018-12-28</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1702</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-9490</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9490/</td>\n",
       "      <td>CWE-704</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>9.3</td>\n",
       "      <td>In CollectValuesOrEntriesImpl of elements.cc, ...</td>\n",
       "      <td>2018-12-28</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1705</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-9476</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9476/</td>\n",
       "      <td>CWE-416</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>10.0</td>\n",
       "      <td>In avrc_pars_browsing_cmd of avrc_pars_tg.cc, ...</td>\n",
       "      <td>2018-12-28</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/syst...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1706</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-9473</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9473/</td>\n",
       "      <td>CWE-190</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>9.3</td>\n",
       "      <td>In ihevcd_parse_sei_payload of ihevcd_parse_he...</td>\n",
       "      <td>2018-12-28</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1713</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2018-9452</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9452/</td>\n",
       "      <td>CWE-20</td>\n",
       "      <td>Medium</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>4.3</td>\n",
       "      <td>In getOffsetForHorizontal of Layout.java, ther...</td>\n",
       "      <td>2018-12-28</td>\n",
       "      <td>DoS Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2028</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13205</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13205/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>8.5</td>\n",
       "      <td>An information disclosure vulnerability in the...</td>\n",
       "      <td>2018-01-26</td>\n",
       "      <td>+Info</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2029</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13204</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13204/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>8.5</td>\n",
       "      <td>An information disclosure vulnerability in the...</td>\n",
       "      <td>2018-01-25</td>\n",
       "      <td>+Info</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2030</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13203</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13203/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>8.5</td>\n",
       "      <td>An information disclosure vulnerability in the...</td>\n",
       "      <td>2018-01-25</td>\n",
       "      <td>+Info</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2033</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2017-13200</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13200/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>5.0</td>\n",
       "      <td>An information disclosure vulnerability in the...</td>\n",
       "      <td>2018-01-26</td>\n",
       "      <td>+Info</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2035</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13198</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13198/</td>\n",
       "      <td>CWE-20</td>\n",
       "      <td>Low</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>7.8</td>\n",
       "      <td>A vulnerability in the Android media framework...</td>\n",
       "      <td>2018-02-01</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2039</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13194</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13194/</td>\n",
       "      <td>CWE-20</td>\n",
       "      <td>Low</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>7.8</td>\n",
       "      <td>A vulnerability in the Android media framework...</td>\n",
       "      <td>2019-05-06</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2043</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13190</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13190/</td>\n",
       "      <td>CWE-770</td>\n",
       "      <td>Low</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>7.8</td>\n",
       "      <td>A vulnerability in the Android media framework...</td>\n",
       "      <td>2019-10-02</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2044</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13189</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13189/</td>\n",
       "      <td>CWE-770</td>\n",
       "      <td>Low</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>7.8</td>\n",
       "      <td>A vulnerability in the Android media framework...</td>\n",
       "      <td>2019-10-02</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2045</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13188</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13188/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>8.5</td>\n",
       "      <td>An information disclosure vulnerability in the...</td>\n",
       "      <td>2018-01-25</td>\n",
       "      <td>+Info</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2046</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13187</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13187/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>8.5</td>\n",
       "      <td>An information disclosure vulnerability in the...</td>\n",
       "      <td>2018-01-26</td>\n",
       "      <td>+Info</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2047</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13186</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13186/</td>\n",
       "      <td>CWE-20</td>\n",
       "      <td>Low</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>7.8</td>\n",
       "      <td>A vulnerability in the Android media framework...</td>\n",
       "      <td>2018-01-25</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2048</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13185</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13185/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>8.5</td>\n",
       "      <td>An information disclosure vulnerability in the...</td>\n",
       "      <td>2018-01-25</td>\n",
       "      <td>+Info</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2081</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-7376</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-7376/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-02-19</td>\n",
       "      <td>10.0</td>\n",
       "      <td>Buffer overflow in libxml2 allows remote attac...</td>\n",
       "      <td>2019-05-17</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2082</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2017-7375</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-7375/</td>\n",
       "      <td>CWE-611</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-02-19</td>\n",
       "      <td>7.5</td>\n",
       "      <td>A flaw in libxml2 allows remote XML entity inc...</td>\n",
       "      <td>2018-03-18</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>329 rows × 17 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     Access Gained Attack Origin Authentication Required Availability  \\\n",
       "31            None         Local            Not required         None   \n",
       "32           Admin         Local            Not required     Complete   \n",
       "33            None        Remote            Not required      Partial   \n",
       "34            None         Local            Not required     Complete   \n",
       "39            None        Remote            Not required         None   \n",
       "...            ...           ...                     ...          ...   \n",
       "2046          None        Remote            Not required     Complete   \n",
       "2047          None        Remote            Not required     Complete   \n",
       "2048          None        Remote            Not required     Complete   \n",
       "2081          None        Remote            Not required     Complete   \n",
       "2082          None        Remote            Not required      Partial   \n",
       "\n",
       "              CVE ID                                        CVE Page   CWE ID  \\\n",
       "31     CVE-2014-8610   https://www.cvedetails.com/cve/CVE-2014-8610/  CWE-264   \n",
       "32     CVE-2014-8609   https://www.cvedetails.com/cve/CVE-2014-8609/  CWE-264   \n",
       "33     CVE-2014-8507   https://www.cvedetails.com/cve/CVE-2014-8507/   CWE-89   \n",
       "34     CVE-2014-7911   https://www.cvedetails.com/cve/CVE-2014-7911/  CWE-264   \n",
       "39     CVE-2013-7372   https://www.cvedetails.com/cve/CVE-2013-7372/  CWE-310   \n",
       "...              ...                                             ...      ...   \n",
       "2046  CVE-2017-13187  https://www.cvedetails.com/cve/CVE-2017-13187/  CWE-200   \n",
       "2047  CVE-2017-13186  https://www.cvedetails.com/cve/CVE-2017-13186/   CWE-20   \n",
       "2048  CVE-2017-13185  https://www.cvedetails.com/cve/CVE-2017-13185/  CWE-200   \n",
       "2081   CVE-2017-7376   https://www.cvedetails.com/cve/CVE-2017-7376/  CWE-119   \n",
       "2082   CVE-2017-7375   https://www.cvedetails.com/cve/CVE-2017-7375/  CWE-611   \n",
       "\n",
       "     Complexity Confidentiality Integrity  Known Exploits Publish Date  Score  \\\n",
       "31       Medium         Partial   Partial             NaN   2014-12-15    3.3   \n",
       "32          Low        Complete  Complete             NaN   2014-12-15    7.2   \n",
       "33          Low         Partial   Partial             NaN   2014-12-15    7.5   \n",
       "34          Low        Complete  Complete             NaN   2014-12-15    7.2   \n",
       "39          Low            None   Partial             NaN   2014-04-29    5.0   \n",
       "...         ...             ...       ...             ...          ...    ...   \n",
       "2046        Low         Partial      None             NaN   2018-01-12    8.5   \n",
       "2047        Low            None      None             NaN   2018-01-12    7.8   \n",
       "2048        Low         Partial      None             NaN   2018-01-12    8.5   \n",
       "2081        Low        Complete  Complete             NaN   2018-02-19   10.0   \n",
       "2082        Low         Partial   Partial             NaN   2018-02-19    7.5   \n",
       "\n",
       "                                               Summmary Update Date  \\\n",
       "31    AndroidManifest.xml in Android before 5.0.0 do...  2014-12-16   \n",
       "32    The addAccount method in src/com/android/setti...  2014-12-16   \n",
       "33    Multiple SQL injection vulnerabilities in the ...  2015-08-06   \n",
       "34    luni/src/main/java/java/io/ObjectInputStream.j...  2014-12-16   \n",
       "39    The engineNextBytes function in classlib/modul...  2014-04-30   \n",
       "...                                                 ...         ...   \n",
       "2046  An information disclosure vulnerability in the...  2018-01-26   \n",
       "2047  A vulnerability in the Android media framework...  2018-01-25   \n",
       "2048  An information disclosure vulnerability in the...  2018-01-25   \n",
       "2081  Buffer overflow in libxml2 allows remote attac...  2019-05-17   \n",
       "2082  A flaw in libxml2 allows remote XML entity inc...  2018-03-18   \n",
       "\n",
       "     Vulnerability Classification  \\\n",
       "31                            NaN   \n",
       "32                            NaN   \n",
       "33                 Exec Code Sql    \n",
       "34                     Exec Code    \n",
       "39                            NaN   \n",
       "...                           ...   \n",
       "2046                       +Info    \n",
       "2047                          NaN   \n",
       "2048                       +Info    \n",
       "2081          Exec Code Overflow    \n",
       "2082                          NaN   \n",
       "\n",
       "                                               codeLink  \n",
       "31    https://android.googlesource.com/platform/pack...  \n",
       "32    https://android.googlesource.com/platform/pack...  \n",
       "33    https://android.googlesource.com/platform/fram...  \n",
       "34    https://android.googlesource.com/platform/libc...  \n",
       "39    https://android.googlesource.com/platform/libc...  \n",
       "...                                                 ...  \n",
       "2046  https://android.googlesource.com/platform/exte...  \n",
       "2047  https://android.googlesource.com/platform/exte...  \n",
       "2048  https://android.googlesource.com/platform/exte...  \n",
       "2081  https://android.googlesource.com/platform/exte...  \n",
       "2082  https://android.googlesource.com/platform/exte...  \n",
       "\n",
       "[329 rows x 17 columns]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "linkNotNull"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/jiahaofan/Library/Python/3.7/lib/python/site-packages/ipykernel_launcher.py:1: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  \"\"\"Entry point for launching an IPython kernel.\n"
     ]
    }
   ],
   "source": [
    "uniqueLink = linkNotNull.drop_duplicates(\"codeLink\",\"first\",inplace = True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "uniqueLink"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Access Gained</th>\n",
       "      <th>Attack Origin</th>\n",
       "      <th>Authentication Required</th>\n",
       "      <th>Availability</th>\n",
       "      <th>CVE ID</th>\n",
       "      <th>CVE Page</th>\n",
       "      <th>CWE ID</th>\n",
       "      <th>Complexity</th>\n",
       "      <th>Confidentiality</th>\n",
       "      <th>Integrity</th>\n",
       "      <th>Known Exploits</th>\n",
       "      <th>Publish Date</th>\n",
       "      <th>Score</th>\n",
       "      <th>Summmary</th>\n",
       "      <th>Update Date</th>\n",
       "      <th>Vulnerability Classification</th>\n",
       "      <th>codeLink</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2014-8610</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2014-8610/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2014-12-15</td>\n",
       "      <td>3.3</td>\n",
       "      <td>AndroidManifest.xml in Android before 5.0.0 do...</td>\n",
       "      <td>2014-12-16</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/pack...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>Admin</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2014-8609</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2014-8609/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2014-12-15</td>\n",
       "      <td>7.2</td>\n",
       "      <td>The addAccount method in src/com/android/setti...</td>\n",
       "      <td>2014-12-16</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/pack...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2014-8507</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2014-8507/</td>\n",
       "      <td>CWE-89</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2014-12-15</td>\n",
       "      <td>7.5</td>\n",
       "      <td>Multiple SQL injection vulnerabilities in the ...</td>\n",
       "      <td>2015-08-06</td>\n",
       "      <td>Exec Code Sql</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2014-7911</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2014-7911/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2014-12-15</td>\n",
       "      <td>7.2</td>\n",
       "      <td>luni/src/main/java/java/io/ObjectInputStream.j...</td>\n",
       "      <td>2014-12-16</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/libc...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2013-7372</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2013-7372/</td>\n",
       "      <td>CWE-310</td>\n",
       "      <td>Low</td>\n",
       "      <td>None</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2014-04-29</td>\n",
       "      <td>5.0</td>\n",
       "      <td>The engineNextBytes function in classlib/modul...</td>\n",
       "      <td>2014-04-30</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/libc...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>93</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-6575</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-6575/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10.0</td>\n",
       "      <td>SampleTable.cpp in libstagefright in Android b...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>DoS Exec Code Overflow Mem. Corr.</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>121</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3864</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3864/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10.0</td>\n",
       "      <td>Integer underflow in the MPEG4Extractor::parse...</td>\n",
       "      <td>2017-09-15</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>122</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3863</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3863/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>Multiple integer overflows in the Blob class i...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/syst...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>124</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2015-3861</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3861/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>5.0</td>\n",
       "      <td>Multiple integer overflows in the addVorbisCod...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>DoS Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>125</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3860</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3860/</td>\n",
       "      <td>CWE-284</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>7.2</td>\n",
       "      <td>packages/Keyguard/res/layout/keyguard_password...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>126</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3858</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3858/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>The checkDestination function in internal/tele...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>127</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3849</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3849/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>The Region_createFromParcel function in core/j...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>129</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2015-3845</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3845/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>6.8</td>\n",
       "      <td>The Parcel::appendFrom function in libs/binder...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>130</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2015-3844</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3844/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>6.8</td>\n",
       "      <td>The getProcessRecordLocked method in services/...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>131</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3843</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3843/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>The SIM Toolkit (STK) framework in Android bef...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>132</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3842</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3842/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>Multiple heap-based buffer overflows in libeff...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>133</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3837</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3837/</td>\n",
       "      <td>CWE-20</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>The OpenSSLX509Certificate class in org/conscr...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>134</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3836</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3836/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10.0</td>\n",
       "      <td>The Parse_wave function in arm-wt-22k/lib_src/...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>DoS Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>135</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3835</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3835/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>Buffer overflow in the OMXNodeInstance::emptyB...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>136</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3834</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3834/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10.0</td>\n",
       "      <td>Multiple integer overflows in the BnHDCP::onTr...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>137</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2015-3833</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3833/</td>\n",
       "      <td>CWE-284</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>4.3</td>\n",
       "      <td>The getRunningAppProcesses function in service...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>138</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3832</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3832/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10.0</td>\n",
       "      <td>Multiple buffer overflows in MPEG4Extractor.cp...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>139</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3831</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3831/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>Buffer overflow in the readAt function in BpMe...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>140</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3829</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3829/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10.0</td>\n",
       "      <td>Off-by-one error in the MPEG4Extractor::parseC...</td>\n",
       "      <td>2017-09-20</td>\n",
       "      <td>DoS Exec Code Overflow Mem. Corr.</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>141</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3828</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3828/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10.0</td>\n",
       "      <td>The MPEG4Extractor::parse3GPPMetaData function...</td>\n",
       "      <td>2017-09-20</td>\n",
       "      <td>DoS Exec Code Overflow Mem. Corr.</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>142</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3827</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3827/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>The MPEG4Extractor::parseChunk function in MPE...</td>\n",
       "      <td>2017-09-20</td>\n",
       "      <td>DoS Exec Code Overflow Mem. Corr.</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>144</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3824</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3824/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10.0</td>\n",
       "      <td>The MPEG4Extractor::parseChunk function in MPE...</td>\n",
       "      <td>2017-09-20</td>\n",
       "      <td>DoS Exec Code Overflow Mem. Corr.</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>159</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2015-1541</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-1541/</td>\n",
       "      <td>CWE-284</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>4.3</td>\n",
       "      <td>The AppWidgetServiceImpl implementation in com...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>160</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-1539</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-1539/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10.0</td>\n",
       "      <td>Multiple integer underflows in the ESDS::parse...</td>\n",
       "      <td>2017-09-20</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>161</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-1538</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-1538/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10.0</td>\n",
       "      <td>Integer overflow in the SampleTable::setSample...</td>\n",
       "      <td>2017-09-20</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1690</th>\n",
       "      <td>None</td>\n",
       "      <td>Local Network</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9505</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9505/</td>\n",
       "      <td>CWE-125</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>6.1</td>\n",
       "      <td>In mca_ccb_hdl_req of mca_cact.cc, there is a ...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/syst...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1691</th>\n",
       "      <td>None</td>\n",
       "      <td>Local Network</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-9504</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9504/</td>\n",
       "      <td>CWE-787</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>8.3</td>\n",
       "      <td>In sdp_copy_raw_data of sdp_discovery.cc, ther...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/syst...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1692</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9503</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9503/</td>\n",
       "      <td>CWE-125</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>7.8</td>\n",
       "      <td>In rfc_process_mx_message of rfc_ts_frames.cc,...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/syst...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1693</th>\n",
       "      <td>None</td>\n",
       "      <td>Local Network</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9502</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9502/</td>\n",
       "      <td>CWE-125</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>6.1</td>\n",
       "      <td>In rfc_process_mx_message of rfc_ts_frames.cc,...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/syst...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1694</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-9501</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9501/</td>\n",
       "      <td>CWE-668</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>7.2</td>\n",
       "      <td>In the SetupWizard, there is a possible Factor...</td>\n",
       "      <td>2019-10-02</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>https://android.googlesource.com/platform/pack...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1695</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9499</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9499/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>4.9</td>\n",
       "      <td>In readVector of iCrypto.cpp, there is a possi...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>+Info</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1696</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-9498</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9498/</td>\n",
       "      <td>CWE-787</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>9.3</td>\n",
       "      <td>In SkSampler::Fill of SkSampler.cpp, there is ...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1697</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-9497</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9497/</td>\n",
       "      <td>CWE-787</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>9.3</td>\n",
       "      <td>In impeg2_fmt_conv_yuv420p_to_yuv420sp_uv_av8 ...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1698</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-9496</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9496/</td>\n",
       "      <td>CWE-787</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>9.3</td>\n",
       "      <td>In ixheaacd_real_synth_fft_p3 of ixheaacd_esbr...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1699</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9493</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9493/</td>\n",
       "      <td>CWE-89</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>2.1</td>\n",
       "      <td>In the content provider of the download manage...</td>\n",
       "      <td>2018-11-21</td>\n",
       "      <td>Sql</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1700</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-9492</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9492/</td>\n",
       "      <td>CWE-862</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>7.2</td>\n",
       "      <td>In checkGrantUriPermissionLocked of ActivityMa...</td>\n",
       "      <td>2019-10-02</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1701</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-9491</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9491/</td>\n",
       "      <td>CWE-190</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>9.3</td>\n",
       "      <td>In AMediaCodecCryptoInfo_new of NdkMediaCodec....</td>\n",
       "      <td>2018-12-28</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1702</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-9490</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9490/</td>\n",
       "      <td>CWE-704</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>9.3</td>\n",
       "      <td>In CollectValuesOrEntriesImpl of elements.cc, ...</td>\n",
       "      <td>2018-12-28</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1705</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-9476</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9476/</td>\n",
       "      <td>CWE-416</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>10.0</td>\n",
       "      <td>In avrc_pars_browsing_cmd of avrc_pars_tg.cc, ...</td>\n",
       "      <td>2018-12-28</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/syst...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1706</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-9473</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9473/</td>\n",
       "      <td>CWE-190</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>9.3</td>\n",
       "      <td>In ihevcd_parse_sei_payload of ihevcd_parse_he...</td>\n",
       "      <td>2018-12-28</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1713</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2018-9452</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9452/</td>\n",
       "      <td>CWE-20</td>\n",
       "      <td>Medium</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>4.3</td>\n",
       "      <td>In getOffsetForHorizontal of Layout.java, ther...</td>\n",
       "      <td>2018-12-28</td>\n",
       "      <td>DoS Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2028</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13205</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13205/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>8.5</td>\n",
       "      <td>An information disclosure vulnerability in the...</td>\n",
       "      <td>2018-01-26</td>\n",
       "      <td>+Info</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2029</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13204</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13204/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>8.5</td>\n",
       "      <td>An information disclosure vulnerability in the...</td>\n",
       "      <td>2018-01-25</td>\n",
       "      <td>+Info</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2030</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13203</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13203/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>8.5</td>\n",
       "      <td>An information disclosure vulnerability in the...</td>\n",
       "      <td>2018-01-25</td>\n",
       "      <td>+Info</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2033</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2017-13200</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13200/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>5.0</td>\n",
       "      <td>An information disclosure vulnerability in the...</td>\n",
       "      <td>2018-01-26</td>\n",
       "      <td>+Info</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2035</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13198</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13198/</td>\n",
       "      <td>CWE-20</td>\n",
       "      <td>Low</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>7.8</td>\n",
       "      <td>A vulnerability in the Android media framework...</td>\n",
       "      <td>2018-02-01</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2039</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13194</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13194/</td>\n",
       "      <td>CWE-20</td>\n",
       "      <td>Low</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>7.8</td>\n",
       "      <td>A vulnerability in the Android media framework...</td>\n",
       "      <td>2019-05-06</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2043</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13190</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13190/</td>\n",
       "      <td>CWE-770</td>\n",
       "      <td>Low</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>7.8</td>\n",
       "      <td>A vulnerability in the Android media framework...</td>\n",
       "      <td>2019-10-02</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2044</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13189</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13189/</td>\n",
       "      <td>CWE-770</td>\n",
       "      <td>Low</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>7.8</td>\n",
       "      <td>A vulnerability in the Android media framework...</td>\n",
       "      <td>2019-10-02</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2045</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13188</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13188/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>8.5</td>\n",
       "      <td>An information disclosure vulnerability in the...</td>\n",
       "      <td>2018-01-25</td>\n",
       "      <td>+Info</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2046</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13187</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13187/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>8.5</td>\n",
       "      <td>An information disclosure vulnerability in the...</td>\n",
       "      <td>2018-01-26</td>\n",
       "      <td>+Info</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2047</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13186</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13186/</td>\n",
       "      <td>CWE-20</td>\n",
       "      <td>Low</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>7.8</td>\n",
       "      <td>A vulnerability in the Android media framework...</td>\n",
       "      <td>2018-01-25</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2048</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-13185</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-13185/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-01-12</td>\n",
       "      <td>8.5</td>\n",
       "      <td>An information disclosure vulnerability in the...</td>\n",
       "      <td>2018-01-25</td>\n",
       "      <td>+Info</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2081</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-7376</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-7376/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-02-19</td>\n",
       "      <td>10.0</td>\n",
       "      <td>Buffer overflow in libxml2 allows remote attac...</td>\n",
       "      <td>2019-05-17</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2082</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2017-7375</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-7375/</td>\n",
       "      <td>CWE-611</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-02-19</td>\n",
       "      <td>7.5</td>\n",
       "      <td>A flaw in libxml2 allows remote XML entity inc...</td>\n",
       "      <td>2018-03-18</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>315 rows × 17 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     Access Gained Attack Origin Authentication Required Availability  \\\n",
       "31            None         Local            Not required         None   \n",
       "32           Admin         Local            Not required     Complete   \n",
       "33            None        Remote            Not required      Partial   \n",
       "34            None         Local            Not required     Complete   \n",
       "39            None        Remote            Not required         None   \n",
       "...            ...           ...                     ...          ...   \n",
       "2046          None        Remote            Not required     Complete   \n",
       "2047          None        Remote            Not required     Complete   \n",
       "2048          None        Remote            Not required     Complete   \n",
       "2081          None        Remote            Not required     Complete   \n",
       "2082          None        Remote            Not required      Partial   \n",
       "\n",
       "              CVE ID                                        CVE Page   CWE ID  \\\n",
       "31     CVE-2014-8610   https://www.cvedetails.com/cve/CVE-2014-8610/  CWE-264   \n",
       "32     CVE-2014-8609   https://www.cvedetails.com/cve/CVE-2014-8609/  CWE-264   \n",
       "33     CVE-2014-8507   https://www.cvedetails.com/cve/CVE-2014-8507/   CWE-89   \n",
       "34     CVE-2014-7911   https://www.cvedetails.com/cve/CVE-2014-7911/  CWE-264   \n",
       "39     CVE-2013-7372   https://www.cvedetails.com/cve/CVE-2013-7372/  CWE-310   \n",
       "...              ...                                             ...      ...   \n",
       "2046  CVE-2017-13187  https://www.cvedetails.com/cve/CVE-2017-13187/  CWE-200   \n",
       "2047  CVE-2017-13186  https://www.cvedetails.com/cve/CVE-2017-13186/   CWE-20   \n",
       "2048  CVE-2017-13185  https://www.cvedetails.com/cve/CVE-2017-13185/  CWE-200   \n",
       "2081   CVE-2017-7376   https://www.cvedetails.com/cve/CVE-2017-7376/  CWE-119   \n",
       "2082   CVE-2017-7375   https://www.cvedetails.com/cve/CVE-2017-7375/  CWE-611   \n",
       "\n",
       "     Complexity Confidentiality Integrity  Known Exploits Publish Date  Score  \\\n",
       "31       Medium         Partial   Partial             NaN   2014-12-15    3.3   \n",
       "32          Low        Complete  Complete             NaN   2014-12-15    7.2   \n",
       "33          Low         Partial   Partial             NaN   2014-12-15    7.5   \n",
       "34          Low        Complete  Complete             NaN   2014-12-15    7.2   \n",
       "39          Low            None   Partial             NaN   2014-04-29    5.0   \n",
       "...         ...             ...       ...             ...          ...    ...   \n",
       "2046        Low         Partial      None             NaN   2018-01-12    8.5   \n",
       "2047        Low            None      None             NaN   2018-01-12    7.8   \n",
       "2048        Low         Partial      None             NaN   2018-01-12    8.5   \n",
       "2081        Low        Complete  Complete             NaN   2018-02-19   10.0   \n",
       "2082        Low         Partial   Partial             NaN   2018-02-19    7.5   \n",
       "\n",
       "                                               Summmary Update Date  \\\n",
       "31    AndroidManifest.xml in Android before 5.0.0 do...  2014-12-16   \n",
       "32    The addAccount method in src/com/android/setti...  2014-12-16   \n",
       "33    Multiple SQL injection vulnerabilities in the ...  2015-08-06   \n",
       "34    luni/src/main/java/java/io/ObjectInputStream.j...  2014-12-16   \n",
       "39    The engineNextBytes function in classlib/modul...  2014-04-30   \n",
       "...                                                 ...         ...   \n",
       "2046  An information disclosure vulnerability in the...  2018-01-26   \n",
       "2047  A vulnerability in the Android media framework...  2018-01-25   \n",
       "2048  An information disclosure vulnerability in the...  2018-01-25   \n",
       "2081  Buffer overflow in libxml2 allows remote attac...  2019-05-17   \n",
       "2082  A flaw in libxml2 allows remote XML entity inc...  2018-03-18   \n",
       "\n",
       "     Vulnerability Classification  \\\n",
       "31                            NaN   \n",
       "32                            NaN   \n",
       "33                 Exec Code Sql    \n",
       "34                     Exec Code    \n",
       "39                            NaN   \n",
       "...                           ...   \n",
       "2046                       +Info    \n",
       "2047                          NaN   \n",
       "2048                       +Info    \n",
       "2081          Exec Code Overflow    \n",
       "2082                          NaN   \n",
       "\n",
       "                                               codeLink  \n",
       "31    https://android.googlesource.com/platform/pack...  \n",
       "32    https://android.googlesource.com/platform/pack...  \n",
       "33    https://android.googlesource.com/platform/fram...  \n",
       "34    https://android.googlesource.com/platform/libc...  \n",
       "39    https://android.googlesource.com/platform/libc...  \n",
       "...                                                 ...  \n",
       "2046  https://android.googlesource.com/platform/exte...  \n",
       "2047  https://android.googlesource.com/platform/exte...  \n",
       "2048  https://android.googlesource.com/platform/exte...  \n",
       "2081  https://android.googlesource.com/platform/exte...  \n",
       "2082  https://android.googlesource.com/platform/exte...  \n",
       "\n",
       "[315 rows x 17 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "linkNotNull"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "https://android.googlesource.com/platform/packages/apps/Mms/+/008d6202fca4002a7dfe333f22377faa73585c67\n",
      "https://android.googlesource.com/platform/packages/apps/Settings/+/f5d3e74ecc2b973941d8adbe40c6b23094b5abb7\n",
      "https://android.googlesource.com/platform/frameworks/base/+/48ed835468c6235905459e6ef7df032baf3e4df6\n",
      "https://android.googlesource.com/platform/libcore/+/738c833d38d41f8f76eb7e77ab39add82b1ae1e2\n",
      "https://android.googlesource.com/platform/libcore/+/kitkat-release/luni/src/main/java/org/apache/harmony/security/provider/crypto/SHA1PRNG_SecureRandomImpl.java\n",
      "https://android.googlesource.com/platform/frameworks/av/+/cf1581c66c2ad8c5b1aaca2e43e350cf5974f46d\n",
      "https://android.googlesource.com/platform/frameworks/av/+/6fe85f7e15203e48df2cc3e8e1c4bc6ad49dc968\n",
      "https://android.googlesource.com/platform/system/security/+/bb9f4392c2f1b11be3acdc1737828274ff1ec55b\n",
      "https://android.googlesource.com/platform/frameworks/av/+/304ef91624e12661e7e35c2c0c235da84a73e9c0\n",
      "https://android.googlesource.com/platform/frameworks/base/+/8fba7e6931245a17215e0e740e78b45f6b66d590\n",
      "https://android.googlesource.com/platform/frameworks/opt/telephony/+/df31d37d285dde9911b699837c351aed2320b586\n",
      "https://android.googlesource.com/platform/frameworks/base/+/4cff1f49ff95d990d6c2614da5d5a23d02145885https://android.googlesource.com/platform/frameworks/base/+/1e72dc7a3074cd0b44d89afbf39bbf5000ef7cc3\n",
      "https://android.googlesource.com/platform/frameworks/native/+/e68cbc3e9e66df4231e70efa3e9c41abc12aea20\n",
      "https://android.googlesource.com/platform/frameworks/base/+/e3cde784e3d99966f313fe00dcecf191f6a44a31\n",
      "https://android.googlesource.com/platform/frameworks/base/+/a5e904e7eb3aaec532de83ca52e24af18e0496b4https://android.googlesource.com/platform/frameworks/opt/telephony/+/b48581401259439dc5ef6dcf8b0f303e4cbefbe9https://android.googlesource.com/platform/packages/apps/Stk/+/1d8e00160c07ae308e5b460214eb2a425b93ccf7https://android.googlesource.com/platform/packages/services/Telephony/+/fcb1d13c320dd1a6350bc7af3166929b4d54a456\n",
      "https://android.googlesource.com/platform/frameworks/av/+/aeea52da00d210587fb3ed895de3d5f2e0264c88\n",
      "https://android.googlesource.com/platform/external/conscrypt/+/edf7055461e2d7fa18de5196dca80896a56e3540\n",
      "https://android.googlesource.com/platform/external/sonivox/+/e999f077f6ef59d20282f1e04786816a31fb8be6\n",
      "https://android.googlesource.com/platform/frameworks/av/+/3cb1b6944e776863aea316e25fdc16d7f9962902https://android.googlesource.com/platform/frameworks/av/+/086d84f45ab7b64d1a7ed7ac8ba5833664a6a5ab\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c82e31a7039a03dca7b37c65b7890ba5c1e18ced\n",
      "https://android.googlesource.com/platform/frameworks/base/+/aaa0fee0d7a8da347a0c47cef5249c70efee209e\n",
      "https://android.googlesource.com/platform/frameworks/av/+/d48f0f145f8f0f4472bc0af668ac9a8bce44ba9b\n",
      "https://android.googlesource.com/platform/frameworks/av/+/51504928746edff6c94a1c498cf99c0a83bedaed\n",
      "https://android.googlesource.com/platform/frameworks/av/+/2674a7218eaa3c87f2ee26d26da5b9170e10f859\n",
      "https://android.googlesource.com/platform/frameworks/av/+/f4f7e0c102819f039ebb1972b3dba1d3186bc1d1\n",
      "https://android.googlesource.com/platform/frameworks/av/+/f4a88c8ed4f8186b3d6e2852993e063fc33ff231\n",
      "https://android.googlesource.com/platform/frameworks/av/+/463a6f807e187828442949d1924e143cf07778c6\n",
      "https://android.googlesource.com/platform/frameworks/base/+/0b98d304c467184602b4c6bce76fda0b0274bc07\n",
      "https://android.googlesource.com/platform/frameworks/av/+/5e751957ba692658b7f67eb03ae5ddb2cd3d970c\n",
      "https://android.googlesource.com/platform/frameworks/av/+/2434839bbd168469f80dd9a22f1328bc81046398\n",
      "https://android.googlesource.com/platform/frameworks/base/+/d44e5bde18a41beda39d49189bef7f2ba7c8f3cb\n",
      "https://android.googlesource.com/platform/frameworks/native/+/7dcd0ec9c91688cfa3f679804ba6e132f9811254https://android.googlesource.com/platform/system/core/+/e8c62fb484151f76ab88b1d5130f38de24ac8c14\n",
      "https://android.googlesource.com/platform/frameworks/native/+/38803268570f90e97452cd9a30ac831661829091\n",
      "https://android.googlesource.com/platform/frameworks/av/+/edd4a76eb4747bd19ed122df46fa46b452c12a0d\n",
      "https://android.googlesource.com/platform/frameworks/av/+/89c03b3b9ff74a507a8b8334c50b08b334483556\n",
      "https://android.googlesource.com/platform/frameworks/av/+/7c88b498fda1c2b608a9dd73960a2fd4d7b7e3f7https://android.googlesource.com/platform/frameworks/av/+/0f177948ae2640bfe4d70f8e4248e106406b3b0ahttps://android.googlesource.com/platform/frameworks/av/+/640b04121d7cd2cac90e2f7c82b97fce05f074a5https://android.googlesource.com/platform/frameworks/av/+/2c75e1c3b98e4e94f50c63e2b7694be5f948477c\n",
      "https://android.googlesource.com/platform/external/libvpx/+/fdb1b40e7bb147c07bda988c9501ad223795d12d\n",
      "https://android.googlesource.com/platform/external/libvpx/+/063be1485e0099bc81ace3a08b0ec9186dcad693\n",
      "https://android.googlesource.com/platform/frameworks/av/+/1d4feebdb85db46e138530f360d9ff2490e14353\n",
      "https://android.googlesource.com/platform/frameworks/av/+/3b1c9f692c4d4b7a683c2b358fc89e831a641b88\n",
      "https://android.googlesource.com/platform/frameworks/base/+/218b813d5bc2d7d3952ea1861c38b4aa944ac59b\n",
      "https://android.googlesource.com/platform/frameworks/opt/net/wifi/+/c2905409c20c8692d4396b8531b09e7ec81fa3fb\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c894aa36be535886a8e5ff02cdbcd07dd24618f6\n",
      "https://android.googlesource.com/platform/frameworks/base/+/5f256310187b4ff2f13a7abb9afed9126facd7bc\n",
      "https://android.googlesource.com/platform/hardware/ril/+/95610818918f6f11fe7d23aca1380e6c0fac2af0\n",
      "https://android.googlesource.com/platform/system/core/+/771ab014c24a682b32990da08e87e2f0ab765bd2\n",
      "https://android.googlesource.com/platform/frameworks/av/+/6d0249be2275fd4086783f259f4e2c54722a7c55\n",
      "https://android.googlesource.com/platform/packages/apps/Email/+/6b2b0bd7c771c698f11d7be89c2c57c8722c7454\n",
      "https://android.googlesource.com/platform/frameworks/base/+/f5334952131afa835dd3f08601fb3bced7b781cd\n",
      "https://android.googlesource.com/platform/system/media/+/8e7a2b4d13bff03973dbad2bfb88a04296140433\n",
      "https://android.googlesource.com/platform/system/media/+/e9e44f797742f52996ebf307740dad58c28fd9b5\n",
      "https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/3a3a5d145d380deef2d5b7c3150864cd04be397f\n",
      "https://android.googlesource.com/platform/frameworks/av/+/0c3b93c8c2027e74af642967eee5c142c8fd185d\n",
      "https://android.googlesource.com/platform/frameworks/base/+/6c049120c2d749f0c0289d822ec7d0aa692f55c5\n",
      "https://android.googlesource.com/platform/frameworks/base/+/2c7008421cb67f5d89f16911bdbe36f6c35311ad\n",
      "https://android.googlesource.com/platform/frameworks/av/+/035cb12f392860113dce96116a5150e2fde6f0cc\n",
      "https://android.googlesource.com/platform/frameworks/av/+/d4271b792bdad85a80e2b83ab34c4b30b74f53echttps://android.googlesource.com/platform/frameworks/av/+/c48ef757cc50906e8726a3bebc3b60716292cdba\n",
      "https://android.googlesource.com/platform/frameworks/base/+/96daf7d4893f614714761af2d53dfb93214a32e4\n",
      "https://android.googlesource.com/platform/frameworks/native/+/047eec456943dc082e33220d28abb7df4e089f69https://android.googlesource.com/platform/frameworks/native/+/d3c6ce463ac91ecbeb2128beb475d31d3ca6ef42\n",
      "https://android.googlesource.com/platform/frameworks/av/+/97837bb6cbac21ea679843a0037779d3834bed64\n",
      "https://android.googlesource.com/platform/packages/services/Telephony/+/d1d248d10cf03498efb7041f1a8c9c467482a19d\n",
      "https://android.googlesource.com/platform/frameworks/base/+/81be4e3aac55305cbb5c9d523cf5c96c66604b39https://android.googlesource.com/platform/frameworks/base/+/55271d454881b67ff38485fdd97598c542cc2d55\n",
      "https://android.googlesource.com/platform/packages/apps/Email/+/cb2dfe43f25cb0c32cc73aa4569c0a5186a4ef43\n",
      "https://android.googlesource.com/platform/frameworks/native/+/363247929c35104b3e5ee9e637e9dcf579080aee\n",
      "https://android.googlesource.com/platform/system/core/+/014b01706cc64dc9c2ad94a96f62e07c058d0b5dhttps://android.googlesource.com/platform/system/core/+/268068f25673242d1d5130d96202d3288c91b700\n",
      "https://android.googlesource.com/platform/frameworks/base/+/e206f02d46ae5e38c74d138b51f6e1637e261abehttps://android.googlesource.com/platform/packages/apps/Settings/+/bd5d5176c74021e8cf4970f93f273ba3023c3d72\n",
      "https://android.googlesource.com/platform/frameworks/opt/telephony/+/b8d1aee993dcc565e6576b2f2439a8f5a507cff6\n",
      "https://android.googlesource.com/platform/frameworks/base/+/335702d106797bce8a88044783fa1fc1d5f751d0\n",
      "https://android.googlesource.com/platform/frameworks/base/+/6ca6cd5a50311d58a1b7bf8fbef3f9aa29eadcd5\n",
      "https://android.googlesource.com/platform/system/core/+/d7603583f90c2bc6074a4ee2886bd28082d7c65b\n",
      "https://android.googlesource.com/platform/frameworks/base/+/61e9103b5725965568e46657f4781dd8f2e5b623\n",
      "https://android.googlesource.com/platform/frameworks/opt/telephony/+/b2c89e6f8962dc7aff88cb38aa3ee67d751edda9\n",
      "https://android.googlesource.com/platform/frameworks/opt/net/wifi/+/35a86eef3c0eef760f7e61c52a343327ba601630\n",
      "https://android.googlesource.com/platform/external/libvpx/+/4974dcbd0289a2530df2ee2a25b5f92775df80da\n",
      "https://android.googlesource.com/platform/frameworks/av/+/68f67ef6cf1f41e77337be3bc4bff91f3a3c6324\n",
      "https://android.googlesource.com/platform/external/sonivox/+/cadfb7a3c96d4fef06656cf37143e1b3e62cae86\n",
      "https://android.googlesource.com/platform/external/libavc/+/7109ce3f8f90a28ca9f0ee6e14f6ac5e414c62cf\n",
      "https://android.googlesource.com/platform/frameworks/base/+/91fc934bb2e5ea59929bb2f574de6db9b5100745\n",
      "https://android.googlesource.com/platform/frameworks/base/+/69729fa8b13cadbf3173fe1f389fe4f3b7bd0f9c\n",
      "https://android.googlesource.com/platform/frameworks/av/+/9f9ba255a0c59544f3555c9c45512c3a2fac5fadhttps://android.googlesource.com/platform/frameworks/av/+/630ed150f7201ddadb00b8b8ce0c55c4cc6e8742\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c2639afac631f5c1ffddf70ee8a6fe943d0bedf9https://android.googlesource.com/platform/frameworks/av/+/c17ad2f0c7e00fd1bbf01d0dfed41f72d78267adhttps://android.googlesource.com/platform/frameworks/av/+/3c4edac2a5b00dec6c8579a0ee658cfb3bb16d94\n",
      "https://android.googlesource.com/platform/frameworks/av/+/1e9801783770917728b7edbdeff3d0ec09c621ac\n",
      "https://android.googlesource.com/platform/frameworks/av/+/119a012b2a9a186655da4bef3ed4ed8dd9b94c26\n",
      "https://android.googlesource.com/platform/frameworks/base/+/e739d9ca5469ed30129d0fa228e3d0f2878671ac\n",
      "https://android.googlesource.com/platform/system/core/+/ecf5fd58a8f50362ce9e8d4245a33d56f29f142bhttps://android.googlesource.com/platform/frameworks/native/+/1f4b49e64adf4623eefda503bca61e253597b9bfhttps://android.googlesource.com/platform/frameworks/av/+/3944c65637dfed14a5a895685edfa4bacaf9f76ehttps://android.googlesource.com/platform/frameworks/base/+/866dc26ad4a98cc835d075b627326e7d7e52ffa1\n",
      "https://android.googlesource.com/platform/external/conscrypt/+/5af5e93463f4333187e7e35f3bd2b846654aa214\n",
      "https://android.googlesource.com/platform/system/bt/+/472271b153c5dc53c28beac55480a8d8434b2d5c\n",
      "https://android.googlesource.com/platform/frameworks/base/+/468651c86a8adb7aa56c708d2348e99022088af3\n",
      "https://android.googlesource.com/platform/frameworks/opt/net/wifi/+/a209ff12ba9617c10550678ff93d01fb72a33399\n",
      "https://android.googlesource.com/platform/frameworks/native/+/3bcf0caa8cca9143443814b36676b3bae33a4368\n",
      "https://android.googlesource.com/platform/hardware/qcom/media/+/7558d03e6498e970b761aa44fff6b2c659202d95\n",
      "https://android.googlesource.com/platform/frameworks/av/+/1f24c730ab6ca5aff1e3137b340b8aeaeda4bdbc\n",
      "https://android.googlesource.com/platform/frameworks/base/+/4e4743a354e26467318b437892a9980eb9b8328ahttps://android.googlesource.com/platform/frameworks/base/+/01875b0274e74f97edf6b0d5c92de822e0555d03\n",
      "https://android.googlesource.com/platform/frameworks/base/+/e7cf91a198de995c7440b3b64352effd2e309906\n",
      "https://android.googlesource.com/platform/frameworks/opt/telephony/+/f47bc301ccbc5e6d8110afab5a1e9bac1d4ef058\n",
      "https://android.googlesource.com/platform/frameworks/av/+/8e438e153f661e9df8db0ac41d587e940352df06\n",
      "https://android.googlesource.com/platform/external/libavc/+/326fe991a4b7971e8aeaf4ac775491dd8abd85bb\n",
      "https://android.googlesource.com/platform/external/libavc/+/7554755536019e439433c515eeb44e701fb3bfb2\n",
      "https://android.googlesource.com/platform/frameworks/av/+/a4567c66f4764442c6cb7b5c1858810194480fb5\n",
      "https://android.googlesource.com/platform/frameworks/av/+/9cd8c3289c91254b3955bd7347cf605d6fa032c6\n",
      "https://android.googlesource.com/platform/hardware/qcom/media/+/d575ecf607056d8e3328ef2eb56c52e98f81e87d\n",
      "https://android.googlesource.com/platform/frameworks/av/+/b351eabb428c7ca85a34513c64601f437923d576\n",
      "https://android.googlesource.com/platform/external/jhead/+/bae671597d47b9e5955c4cb742e468cebfd7ca6b\n",
      "https://android.googlesource.com/platform/frameworks/av/+/42a25c46b844518ff0d0b920c20c519e1417be69\n",
      "https://android.googlesource.com/platform/external/libavc/+/a78887bcffbc2995cf9ed72e0697acf560875e9e\n",
      "https://android.googlesource.com/platform/frameworks/av/+/590d1729883f700ab905cdc9ad850f3ddd7e1f56\n",
      "https://android.googlesource.com/platform/frameworks/av/+/e7142a0703bc93f75e213e96ebc19000022afed9https://android.googlesource.com/platform/frameworks/av/+/6fdee2a83432b3b150d6a34f231c4e2f7353c01e\n",
      "https://android.googlesource.com/platform/external/libmpeg2/+/d1c775d1d8d2ed117d1e026719b7f9f089716597\n",
      "https://android.googlesource.com/platform/frameworks/av/+/daef4327fe0c75b0a90bb8627458feec7a301e1f\n",
      "https://android.googlesource.com/platform/frameworks/base/+/ec2fc50d202d975447211012997fe425496c849c\n",
      "https://android.googlesource.com/platform/external/sepolicy/+/abf0663ed884af7bc880a05e9529e6671eb58f39\n",
      "https://android.googlesource.com/platform/packages/apps/Nfc/+/9ea802b5456a36f1115549b645b65c791eff3c2c\n",
      "https://android.googlesource.com/platform/system/bt/+/37c88107679d36c419572732b4af6e18bb2f7dcehttps://android.googlesource.com/platform/packages/apps/Bluetooth/+/122feb9a0b04290f55183ff2f0384c6c53756bd8https://android.googlesource.com/platform/hardware/libhardware/+/8b3d5a64c3c8d010ad4517f652731f09107ae9c5\n",
      "https://android.googlesource.com/platform/frameworks/base/+/9b8c6d2df35455ce9e67907edded1e4a2ecb9e28\n",
      "https://android.googlesource.com/platform/dalvik/+/338aeaf28e9981c15d0673b18487dba61eb5447c\n",
      "https://android.googlesource.com/platform/system/core/+/ae18eb014609948a40e22192b87b10efc680daa7\n",
      "https://android.googlesource.com/platform/external/tremolo/+/659030a2e80c38fb8da0a4eb68695349eec6778b\n",
      "https://android.googlesource.com/platform/external/libavc/+/d4841f1161bdb5e13cb19e81af42437a634dd6ef\n",
      "https://android.googlesource.com/platform/frameworks/av/+/6fdee2a83432b3b150d6a34f231c4e2f7353c01ehttps://android.googlesource.com/platform/frameworks/av/+/e7142a0703bc93f75e213e96ebc19000022afed9\n",
      "https://android.googlesource.com/platform/frameworks/base/+/ddbf2db5b946be8fdc45c7b0327bf560b2a06988\n",
      "https://android.googlesource.com/platform/external/libpng/+/9d4853418ab2f754c2b63e091c29c5529b8b86ca\n",
      "https://android.googlesource.com/platform/frameworks/native/+/54cb02ad733fb71b1bdf78590428817fb780aff8\n",
      "https://android.googlesource.com/platform/frameworks/base/+/e83f0f6a5a6f35323f5367f99c8e287c440f33f5\n",
      "https://android.googlesource.com/platform/external/sepolicy/+/556bb0f55324e8839d7b735a0de9bc31028e839e\n",
      "https://android.googlesource.com/platform/hardware/qcom/media/+/4ed06d14080d8667d5be14eed200e378cba78345\n",
      "https://android.googlesource.com/platform/hardware/qcom/media/+/5b82f4f90c3d531313714df4b936f92fb0ff15cf\n",
      "https://android.googlesource.com/platform/hardware/qcom/audio/+/073a80800f341325932c66818ce4302b312909a4\n",
      "https://android.googlesource.com/platform/system/bt/+/514139f4b40cbb035bb92f3e24d5a389d75db9e6\n",
      "https://android.googlesource.com/platform/external/libavc/+/ecf6c7ce6d5a22d52160698aab44fc234c63291a\n",
      "https://android.googlesource.com/platform/external/libavc/+/a583270e1c96d307469c83dc42bd3c5f1b9ef63f\n",
      "https://android.googlesource.com/platform/external/libavc/+/cc676ebd95247646e67907ccab150fb77a847335https://android.googlesource.com/platform/external/libavc/+/e629194c62a9a129ce378e08cb1059a8a53f1795\n",
      "https://android.googlesource.com/platform/frameworks/av/+/f81038006b4c59a5a148dcad887371206033c28fhttps://android.googlesource.com/platform/frameworks/av/+/d112f7d0c1dbaf0368365885becb11ca8d3f13a4\n",
      "https://android.googlesource.com/platform/frameworks/av/+/60547808ca4e9cfac50028c00c58a6ceb2319301\n",
      "https://android.googlesource.com/platform/frameworks/av/+/e248db02fbab2ee9162940bc19f087fd7d96cb9d\n",
      "https://android.googlesource.com/platform/frameworks/av/+/4f236c532039a61f0cf681d2e3c6e022911bbb5c\n",
      "https://android.googlesource.com/platform/frameworks/base/+/9878bb99b77c3681f0fda116e2964bac26f349c3\n",
      "https://android.googlesource.com/platform/frameworks/av/+/dd3546765710ce8dd49eb23901d90345dec8282f\n",
      "https://android.googlesource.com/platform/frameworks/base/+/a75537b496e9df71c74c1d045ba5569631a16298\n",
      "https://android.googlesource.com/platform/packages/apps/PackageInstaller/+/2068c7997265011ddc5e4dfa3418407881f7f81ehttps://android.googlesource.com/platform/frameworks/native/+/03a53d1c7765eeb3af0bc34c3dff02ada1953fbfhttps://android.googlesource.com/platform/frameworks/base/+/613f63b938145bb86cd64fe0752eaf5e99b5f628\n",
      "https://android.googlesource.com/platform/frameworks/av/+/b57b3967b1a42dd505dbe4fcf1e1d810e3ae3777https://android.googlesource.com/platform/frameworks/av/+/45737cb776625f17384540523674761e6313e6d4\n",
      "https://android.googlesource.com/platform/system/core/+/864e2e22fcd0cba3f5e67680ccabd0302dfda45d\n",
      "https://android.googlesource.com/platform/frameworks/av/+/4e32001e4196f39ddd0b86686ae0231c8f5ed944https://android.googlesource.com/platform/frameworks/av/+/d2f47191538837e796e2b10c1ff7e1ee35f6e0abhttps://android.googlesource.com/platform/frameworks/av/+/918eeaa29d99d257282fafec931b4bda0e3bae12\n",
      "https://android.googlesource.com/platform/frameworks/av/+/ad40e57890f81a3cf436c5f06da66396010bd9e5\n",
      "https://android.googlesource.com/platform/frameworks/av/+/7cea5cb64b83d690fe02bc210bbdf08f5a87636f\n",
      "https://android.googlesource.com/platform/hardware/qcom/media/+/89913d7df36dbeb458ce165856bd6505a2ec647d\n",
      "https://android.googlesource.com/platform/hardware/qcom/media/+/46e305be6e670a5a0041b0b4861122a0f1aabefa\n",
      "https://android.googlesource.com/platform/hardware/qcom/media/+/560ccdb509a7b86186fac0fce1b25bd9a3e6a6e8\n",
      "https://android.googlesource.com/platform/hardware/qcom/media/+/f22c2a0f0f9e030c240468d9d18b9297f001bcf0\n",
      "https://android.googlesource.com/platform/frameworks/av/+/0bb5ced60304da7f61478ffd359e7ba65d72f181https://android.googlesource.com/platform/frameworks/av/+/295c883fe3105b19bcd0f9e07d54c6b589fc5bffhttps://android.googlesource.com/platform/frameworks/av/+/db829699d3293f254a7387894303451a91278986https://android.googlesource.com/platform/frameworks/av/+/94d9e646454f6246bf823b6897bd6aea5f08eda3\n",
      "https://android.googlesource.com/platform/external/libvpx/+/cc274e2abe8b2a6698a5c47d8aa4bb45f1f9538dhttps://android.googlesource.com/platform/external/libvpx/+/65c49d5b382de4085ee5668732bcb0f6ecaf7148\n",
      "https://android.googlesource.com/platform/frameworks/av/+/2b6f22dc64d456471a1dc6df09d515771d1427c8\n",
      "https://android.googlesource.com/platform/external/conscrypt/+/8bec47d2184fca7e8b7337d2a65b2b75a9bc8f54\n",
      "https://android.googlesource.com/platform/external/conscrypt/+/1638945d4ed9403790962ec7abed1b7a232a9ff8https://android.googlesource.com/platform/external/conscrypt/+/50d0447566db4a77d78d592f1c1b5d31096fac8f\n",
      "https://android.googlesource.com/platform/frameworks/native/+/a30d7d90c4f718e46fb41a99b3d52800e1011b73\n",
      "https://android.googlesource.com/platform/packages/apps/UnifiedEmail/+/a55168330d9326ff2120285763c818733590266ahttps://android.googlesource.com/platform/packages/apps/Email/+/2791f0b33b610247ef87278862e66c6045f89693\n",
      "https://android.googlesource.com/platform/frameworks/base/+/12332e05f632794e18ea8c4ac52c98e82532e5db\n",
      "https://android.googlesource.com/platform/frameworks/av/+/44749eb4f273f0eb681d0fa013e3beef754fa687https://android.googlesource.com/platform/frameworks/av/+/daa85dac2055b22dabbb3b4e537597e6ab73a866https://android.googlesource.com/platform/frameworks/av/+/65756b4082cd79a2d99b2ccb5b392291fd53703f\n",
      "https://android.googlesource.com/platform/frameworks/av/+/f9ed2fe6d61259e779a37d4c2d7edb33a1c1f8ba\n",
      "https://android.googlesource.com/platform/frameworks/av/+/7fd96ebfc4c9da496c59d7c45e1f62be178e626d\n",
      "https://android.googlesource.com/platform/frameworks/av/+/b04aee833c5cfb6b31b8558350feb14bb1a0f353\n",
      "https://android.googlesource.com/platform/frameworks/av/+/a2d1d85726aa2a3126e9c331a8e00a8c319c9e2b\n",
      "https://android.googlesource.com/platform/frameworks/native/+/a59b827869a2ea04022dd225007f29af8d61837a\n",
      "https://android.googlesource.com/platform/system/bt/+/9b534de2aca5d790c2a1c4d76b545f16137d95dd\n",
      "https://android.googlesource.com/platform/system/core/+/ad54cfed4516292654c997910839153264ae00a0\n",
      "https://android.googlesource.com/platform/external/flac/+/b499389da21d89d32deff500376c5ee4f8f0b04c\n",
      "https://android.googlesource.com/platform/external/aac/+/5d4405f601fa11a8955fd7611532c982420e4206\n",
      "https://android.googlesource.com/platform/frameworks/base/+/63363af721650e426db5b0bdfb8b2d4fe36abdb0\n",
      "https://android.googlesource.com/platform/packages/apps/UnifiedEmail/+/0d9dfd649bae9c181e3afc5d571903f1eb5dc46f\n",
      "https://android.googlesource.com/platform/frameworks/base/+/d3383d5bfab296ba3adbc121ff8a7b542bde4afb\n",
      "https://android.googlesource.com/platform/packages/services/Telecomm/+/a06c9a4aef69ae27b951523cf72bf72412bf48fa\n",
      "https://android.googlesource.com/platform/packages/apps/CertInstaller/+/70dde9870e9450e10418a32206ac1bb30f036b2c\n",
      "https://android.googlesource.com/platform/system/core/+/81df1cc77722000f8d0025c1ab00ced123aa573chttps://android.googlesource.com/platform/system/core/+/669ecc2f5e80ff924fa20ce7445354a7c5bcfd98\n",
      "https://android.googlesource.com/platform/frameworks/av/+/5a856f2092f7086aa0fea9ae06b9255befcdcd34\n",
      "https://android.googlesource.com/platform/frameworks/av/+/8d87321b704cb3f88e8cae668937d001fd63d5e3\n",
      "https://android.googlesource.com/platform/frameworks/av/+/1171e7c047bf79e7c93342bb6a812c9edd86aa84\n",
      "https://android.googlesource.com/platform/frameworks/native/+/a40b30f5c43726120bfe69d41ff5aeb31fe1d02ahttps://android.googlesource.com/platform/frameworks/native/+/85d253fab5e2c01bd90990667c6de25c282fc5cd\n",
      "https://android.googlesource.com/platform/packages/apps/Exchange/+/0d1a38b1755efe7ed4e8d7302a24186616bba9b2\n",
      "https://android.googlesource.com/platform/frameworks/minikin/+/f4785aa1947b8d22d5b19559ef1ca526d98e0e73https://android.googlesource.com/platform/frameworks/minikin/+/ca8ac8acdad662230ae37998c6c4091bb39402b6\n",
      "https://android.googlesource.com/platform/frameworks/av/+/25be9ac20db51044e1b09ca67906355e4f328d48\n",
      "https://android.googlesource.com/platform/external/skia/+/b36c23b3e6b0b316075cc43e466d44c62508fcac\n",
      "https://android.googlesource.com/platform/frameworks/av/+/5a6788730acfc6fd8f4a6ef89d2c376572a26b55https://android.googlesource.com/platform/external/libvpx/+/04839626ed859623901ebd3a5fd483982186b59dhttps://android.googlesource.com/platform/external/libvpx/+/5a9753fca56f0eeb9f61e342b2fccffc364f9426\n",
      "https://android.googlesource.com/platform/external/dhcpcd/+/1390ace71179f04a09c300ee8d0300aa69d9db09\n",
      "https://android.googlesource.com/platform/external/bluetooth/bluedroid/+/c677ee92595335233eb0e7b59809a1a94e7a678a\n",
      "https://android.googlesource.com/platform/bootable/recovery/+/28a566f7731b4cb76d2a9ba16d997ac5aeb07dad\n",
      "https://android.googlesource.com/platform/packages/providers/DownloadProvider/+/bdc831357e7a116bc561d51bf2ddc85ff11c01a9\n",
      "https://android.googlesource.com/platform/packages/services/Telephony/+/a294ae5342410431a568126183efe86261668b5dhttps://android.googlesource.com/platform/packages/services/Telecomm/+/2750faaa1ec819eed9acffea7bd3daf867fda444\n",
      "https://android.googlesource.com/platform/frameworks/native/+/f3199c228aced7858b75a8070b8358c155ae0149\n",
      "https://android.googlesource.com/platform/external/sepolicy/+/57531cacb40682be4b1189c721fd1e7f25bf3786\n",
      "https://android.googlesource.com/platform/external/libavc/+/943323f1d9d3dd5c2634deb26cbe72343ca6b3db\n",
      "https://android.googlesource.com/platform/frameworks/av/+/3097f364237fb552871f7639d37a7afa4563e252\n",
      "https://android.googlesource.com/platform/external/libavc/+/c57fc3703ae2e0d41b1f6580c50015937f2d23c1\n",
      "https://android.googlesource.com/platform/hardware/qcom/audio/+/ebbb82365172337c6c250c6cac4e326970a9e351\n",
      "https://android.googlesource.com/platform/external/sonivox/+/3ac044334c3ff6a61cb4238ff3ddaf17c7efcf49https://android.googlesource.com/platform/external/sonivox/+/24d7c408c52143bce7b49de82f3913fd8d1219cf\n",
      "https://android.googlesource.com/platform/frameworks/av/+/7a282fb64fef25349e9d341f102d9cea3bf75baf\n",
      "https://android.googlesource.com/platform/external/libmpeg2/+/8b4ed5a23175b7ffa56eea4678db7287f825e985\n",
      "https://android.googlesource.com/platform/external/libmpeg2/+/ba604d336b40fd4bde1622f64d67135bdbd61301https://android.googlesource.com/platform/external/libmpeg2/+/58a6822d7140137ce957c6d2fc20bae1374186c1\n",
      "https://android.googlesource.com/platform/frameworks/opt/telephony/+/79eecef63f3ea99688333c19e22813f54d4a31b1\n",
      "https://android.googlesource.com/platform/system/bt/+/d77f1999ecece56c1cbb333f4ddc26f0b5bac2c5\n",
      "https://android.googlesource.com/platform/frameworks/native/+/d06421fd37fbb7fd07002e6738fac3a223cb1a62\n",
      "https://android.googlesource.com/platform/frameworks/native/+/dded8fdbb700d6cc498debc69a780915bc34d755\n",
      "https://android.googlesource.com/platform/frameworks/av/+/9e29523b9537983b4c4b205ff868d0b3bca0383b\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c9ab2b0bb05a7e19fb057e79b36e232809d70122https://android.googlesource.com/platform/frameworks/av/+/899823966e78552bb6dfd7772403a4f91471d2b0\n",
      "https://android.googlesource.com/platform/external/libmpeg2/+/ffab15eb80630dc799eb410855c93525b75233c3\n",
      "https://android.googlesource.com/platform/external/conscrypt/+/c4ab1b959280413fb11bf4fd7f6b4c2ba38bd779https://android.googlesource.com/platform/external/conscrypt/+/4c9f9c2201116acf790fca25af43995d29980ee0\n",
      "https://android.googlesource.com/platform/external/libavc/+/4a524d3a8ae9aa20c36430008e6bd429443f8f1d\n",
      "https://android.googlesource.com/platform%2Fframeworks%2Fav/+/5403587a74aee2fb57076528c3927851531c8afb\n",
      "https://android.googlesource.com/platform%2Fframeworks%2Fbase/+/16a76dadcc23a13223e9c2216dad1fe5cad7d6e1\n",
      "https://android.googlesource.com/platform%2Fframeworks%2Fbase/+/84669ca8de55d38073a0dcb01074233b0a417541\n",
      "https://android.googlesource.com/platform%2Fframeworks%2Fav/+/22f824feac43d5758f9a70b77f2aca840ba62c3b\n",
      "https://android.googlesource.com/platform%2Fframeworks%2Fav/+/19c47afbc402542720ddd280e1bbde3b2277b586\n",
      "https://android.googlesource.com/platform/hardware/broadcom/wlan/+/2c5a4fac8bc8198f6a2635ede776f8de40a0c3e1\n",
      "https://android.googlesource.com/platform/frameworks/minikin/+/ed4c8d79153baab7f26562afb8930652dfbf853b\n",
      "https://android.googlesource.com/platform%2Fsystem%2Fcore/+/d917514bd6b270df431ea4e781a865764d406120\n",
      "https://android.googlesource.com/platform%2Fframeworks%2Fav/+/224858e719d045c8554856b12c4ab73d2375cf33\n",
      "https://android.googlesource.com/platform%2Fframeworks%2Fav/+/50270d98e26fa18b20ca88216c3526667b724ba7\n",
      "https://android.googlesource.com/kernel%2Fcommon/+/69bfe2d957d903521d32324190c2754cb073be15\n",
      "https://android.googlesource.com/platform/frameworks/base/+/05e0705177d2078fa9f940ce6df723312cfab976\n",
      "https://android.googlesource.com/platform/hardware/ril/+/cd5f15f588a5d27e99ba12f057245bfe507f8c42\n",
      "https://android.googlesource.com/platform/frameworks/base/+/c574568aaede7f652432deb7707f20ae54bbdf9a\n",
      "https://android.googlesource.com/platform/frameworks/av/+/8a3a2f6ea7defe1a81bb32b3c9f3537f84749b9d\n",
      "https://android.googlesource.com/platform/external/libhevc/+/87fb7909c49e6a4510ba86ace1ffc83459c7e1b9\n",
      "https://android.googlesource.com/platform/frameworks/av/+/d07f5c14e811951ff9b411ceb84e7288e0d04aaf\n",
      "https://android.googlesource.com/platform/frameworks/av/+/d834160d9759f1098df692b34e6eeb548f9e317b\n",
      "https://android.googlesource.com/platform/frameworks/av/+/f490fc335772a9b14e78997486f4a572b0594c04\n",
      "https://android.googlesource.com/platform/external/tremolo/+/eeb4e45d5683f88488c083ecf142dc89bc3f0b47\n",
      "https://android.googlesource.com/platform/frameworks/av/+/7fa3f552a6f34ed05c15e64ea30b8eed53f77a41\n",
      "https://android.googlesource.com/device/google/dragon/+/7df7ec13b1d222ac3a66797fbe432605ea8f973f\n",
      "https://android.googlesource.com/platform/external/libhevc/+/25c0ffbe6a181b4a373c3c9b421ea449d457e6ed\n",
      "https://android.googlesource.com/platform/external/libmpeg2/+/7737780815fe523ad7b0e49456eb75d27a30818a\n",
      "https://android.googlesource.com/platform/frameworks/av/+/552a3b5df2a6876d10da20f72e4cc0d44ac2c790\n",
      "https://android.googlesource.com/platform/libcore/+/809681f310663288e83587089abb7715c68f6924\n",
      "https://android.googlesource.com/platform/frameworks/base/+/b87c968e5a41a1a09166199bf54eee12608f3900\n",
      "https://android.googlesource.com/platform/external/libhevc/+/913d9e8d93d6b81bb8eac3fc2c1426651f5b259d\n",
      "https://android.googlesource.com/platform/external/libvpx/+/698796fc930baecf5c3fdebef17e73d5d9a58bcb\n",
      "https://android.googlesource.com/platform/external/libhevc/+/ebaa71da6362c497310377df509651974401d258\n",
      "https://android.googlesource.com/platform/frameworks/av/+/523f6b49c1a2289161f40cf9fe80b92e592e9441\n",
      "https://android.googlesource.com/platform/frameworks/av/+/36b04932bb93cc3269279282686b439a17a89920\n",
      "https://android.googlesource.com/platform/frameworks/av/+/961e5ac5788b52304e64b9a509781beaf5201fb0\n",
      "https://android.googlesource.com/platform/external/libhevc/+/a1424724a00d62ac5efa0e27953eed66850d662f\n",
      "https://android.googlesource.com/platform/frameworks/av/+/5443b57cc54f2e46b35246637be26a69e9f493e1\n",
      "https://android.googlesource.com/platform/frameworks/av/+/594bf934384920618d2b6ce0bcda1f60144cb3eb\n",
      "https://android.googlesource.com/platform/frameworks/av/+/acc192347665943ca674acf117e4f74a88436922\n",
      "https://android.googlesource.com/platform/external/libavc/+/5c3fd5d93a268abb20ff22f26009535b40db3c7d\n",
      "https://android.googlesource.com/platform/external/libhevc/+/45c97f878bee15cd97262fe7f57ecea71990fed7\n",
      "https://android.googlesource.com/platform/external/libhevc/+/bcfc7124f6ef9f1ec128fb2e90de774a5b33d199\n",
      "https://android.googlesource.com/platform/frameworks/av/+/6f1d990ce0f116a205f467d9eb2082795e33872b\n",
      "https://android.googlesource.com/platform/external/libmpeg2/+/a86eb798d077b9b25c8f8c77e3c02c2f287c1ce7\n",
      "https://android.googlesource.com/platform/frameworks/av/+/50358a80b1724f6cf1bcdf003e1abf9cc141b122\n",
      "https://android.googlesource.com/platform/external/libmpeg2/+/227c1f829127405e21dab1664393050c652ef71e\n",
      "https://android.googlesource.com/platform/external/libmpeg2/+/f301cff2c1ddd880d9a2c77b22602a137519867b\n",
      "https://android.googlesource.com/platform/external/libavc/+/0b23c81c3dd9ec38f7e6806a3955fed1925541a0\n",
      "https://android.googlesource.com/platform/external/libavc/+/9a00f562a612d56e7b2b989d168647db900ba6cf\n",
      "https://android.googlesource.com/platform/external/libavc/+/8b5fd8f24eba5dd19ab2f80ea11a9125aa882ae2https://android.googlesource.com/platform/external/libavc/+/494561291a503840f385fbcd11d9bc5f4dc502b8\n",
      "https://android.googlesource.com/platform/external/libavc/+/7950bf47b6944546a0aff11a7184947de9591b51\n",
      "https://android.googlesource.com/platform/external/libavc/+/37345554fea84afd446d6d8fbb87feea5a0dde3f\n",
      "https://android.googlesource.com/platform/frameworks/av/+/9667e3eff2d34c3797c3b529370de47b2c1f1bf6\n",
      "https://android.googlesource.com/platform/external/libavc/+/f634481e940421020e52f511c1fb34aac1db4b2f\n",
      "https://android.googlesource.com/platform/external/libavc/+/33ef7de9ddc8ea7eb9cbc440d1cf89957a0c267b\n",
      "https://android.googlesource.com/platform/external/sonivox/+/56d153259cc3e16a6a0014199a2317dde333c978\n",
      "https://android.googlesource.com/platform/external/libhevc/+/01ca88bb6c5bdd44e071f8effebe12f1d7da9853\n",
      "https://android.googlesource.com/platform/external/libhevc/+/1ab5ce7e42feccd49e49752e6f58f9097ac5d254\n",
      "https://android.googlesource.com/platform/external/libavc/+/494561291a503840f385fbcd11d9bc5f4dc502b8\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c66c43ad571ed2590dcd55a762c73c90d9744bachttps://android.googlesource.com/platform/hardware/qcom/audio/+/d72ea85c78a1a68bf99fd5804ad9784b4102fe57\n",
      "https://android.googlesource.com/platform/frameworks/av/+/321ea5257e37c8edb26e66fe4ee78cca4cd915fe\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c66c43ad571ed2590dcd55a762c73c90d9744bac\n",
      "https://android.googlesource.com/platform/frameworks/av/+/7a3246b870ddd11861eda2ab458b11d723c7f62c\n",
      "https://android.googlesource.com/platform/frameworks/av/+/557bd7bfe6c4895faee09e46fc9b5304a956c8b7\n",
      "https://android.googlesource.com/platform/external/libvpx/+/6886e8e0a9db2dbad723dc37a548233e004b33bc\n",
      "https://android.googlesource.com/platform/frameworks/av/+/453b351ac5bd2b6619925dc966da60adf6b3126c\n",
      "https://android.googlesource.com/platform/external/libhevc/+/a33f6725d7e9f92330f995ce2dcf4faa33f6433f\n",
      "https://android.googlesource.com/platform/external/tremolo/+/5dc99237d49e73c27d3eca54f6ccd97d13f94de0\n",
      "https://android.googlesource.com/platform/external/libopus/+/0d052d64480a30e83fcdda80f4774624e044beb7\n",
      "https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c82e31a7039a03dca7b37c65b7890ba5c1e18ced%5E%21/#F0\n",
      "https://android.googlesource.com/platform/frameworks/av/+/b9096dc\n",
      "https://android.googlesource.com/platform/frameworks/av/+/6dc6c38%5E%21/\n",
      "https://android.googlesource.com/platform/frameworks/base/+/a8f6d1b%5E!/\n",
      "https://android.googlesource.com/platform/frameworks/av/+/36d1577%5E!/\n",
      "https://android.googlesource.com/platform/frameworks/native/+/ae33effd43a615183f089f0a216b5965e8104842%5E%21/#F0\n",
      "https://android.googlesource.com/platform/system/netd/+/931418b16c7197ca2df34c2a5609e49791125abe\n",
      "https://android.googlesource.com/platform/system/bt/+/6e4b8e505173f803a5fc05abc09f64eef89dc308\n",
      "https://android.googlesource.com/platform/system/bt/+/198888b8e0163bab7a417161c63e483804ae8e31\n",
      "https://android.googlesource.com/platform/system/bt/+/e8bbf5b0889790cf8616f4004867f0ff656f0551\n",
      "https://android.googlesource.com/platform/system/bt/+/30cec963095366536ca0b1306089154e09bfe1a9\n",
      "https://android.googlesource.com/platform/system/bt/+/830cb39cb2a0f1bf6704d264e2a5c5029c175dd7\n",
      "https://android.googlesource.com/platform/system/bt/+/5216e6120160b28d76e9ee4dff9995e772647511\n",
      "https://android.googlesource.com/platform/system/bt/+/11fb7aa03437eccac98d90ca2de1730a02a515e2\n",
      "https://android.googlesource.com/platform/system/bt/+/92a7bf8c44a236607c146240f3c0adc1ae01fedfhttps://android.googlesource.com/platform/system/bt/+/92a7bf8c44a236607c146240f3c0adc1ae01fedf,https://android.googlesource.com/platform/system/bt/+/9fe27a9b445f7e911286ed31c1087ceac567736bhttps://android.googlesource.com/platform/system/bt/+/d4a34fefbf292d1e02336e4e272da3ef1e3eef85,https://android.googlesource.com/platform/system/bt/+/d4a34fefbf292d1e02336e4e272da3ef1e3eef85\n",
      "https://android.googlesource.com/platform/system/bt/+/92a7bf8c44a236607c146240f3c0adc1ae01fedfhttps://android.googlesource.com/platform/system/bt/+/9fe27a9b445f7e911286ed31c1087ceac567736bhttps://android.googlesource.com/platform/system/bt/+/d4a34fefbf292d1e02336e4e272da3ef1e3eef85\n",
      "https://android.googlesource.com/platform/packages/apps/Settings/+/5e43341b8c7eddce88f79c9a5068362927c05b54\n",
      "https://android.googlesource.com/platform/frameworks/av/+/bf7a67c33c0f044abeef3b9746f434b7f3295bb1\n",
      "https://android.googlesource.com/platform/external/skia/+/77c955200ddd1761d6ed7a6c1578349fedbb55e4\n",
      "https://android.googlesource.com/platform/external/libmpeg2/+/bef16671c891e16f25a7b174bc528eea109357be\n",
      "https://android.googlesource.com/platform/external/libxaac/+/04e8cd58f075bec5892e369c8deebca9c67e855c\n",
      "https://android.googlesource.com/platform/frameworks/base/+/462aaeaa616e0bb1342e8ef7b472acc0cbc93deb,https://android.googlesource.com/platform/frameworks/base/+/ebc250d16c747f4161167b5ff58b3aea88b37acfhttps://android.googlesource.com/platform/packages/providers/DownloadProvider/+/e7364907439578ce5334bce20bb03fef2e88b107,\n",
      "https://android.googlesource.com/platform/frameworks/base/+/962fb40991f15be4f688d960aa00073683ebdd20\n",
      "https://android.googlesource.com/platform/frameworks/av/+/2b4667baa5a2badbdfec1794156ee17d4afef37c\n",
      "https://android.googlesource.com/platform/external/v8/+/a24543157ae2cdd25da43e20f4e48a07481e6cebhttps://android.googlesource.com/platform/external/chromium-libpac/+/948d4753664cc4e6b33cc3de634ac8fd5f781382,\n",
      "https://android.googlesource.com/platform/system/bt/+/dd28d8ddf2985d654781770c691c60b45d7f32b4\n",
      "https://android.googlesource.com/platform/external/libhevc/+/9f0fb67540d2259e4930d9bd5f1a1a6fb95af862\n",
      "https://android.googlesource.com/platform/frameworks/base/+/54f661b16b308cf38d1b9703214591c0f83df64d,https://android.googlesource.com/platform/frameworks/base/+/3b6f84b77c30ec0bab5147b0cffc192c86ba2634\n",
      "https://android.googlesource.com/platform/external/libmpeg2/+/29a78a11844fc027fa44be7f8bd8dc1cf8bf89f6\n",
      "https://android.googlesource.com/platform/external/libavc/+/42cf02965b11c397dd37a0063e683cef005bc0ae\n",
      "https://android.googlesource.com/platform/external/libavc/+/e86d3cfd2bc28dac421092106751e5638d54a848\n",
      "https://android.googlesource.com/platform/frameworks/av/+/dd3ca4d6b81a9ae2ddf358b7b93d2f8c010921f5\n",
      "https://android.googlesource.com/platform/frameworks/ex/+/ede8f95361dcbf9757aaf6d25ce59fa3767344e3\n",
      "https://android.googlesource.com/platform/external/libvpx/+/55cd1dd7c8d0a3de907d22e0f12718733f4e41d9\n",
      "https://android.googlesource.com/platform/external/libhevc/+/3ed3c6b79a7b9a60c475dd4936ad57b0b92fd600\n",
      "https://android.googlesource.com/platform/external/libavc/+/5acaa6fc86c73a750e5f4900c4e2d44bf22f683a\n",
      "https://android.googlesource.com/platform/external/aac/+/8e3be529372892e20ccf196809bc73276c822189\n",
      "https://android.googlesource.com/platform/external/libhevc/+/7c9be319a279654e55a6d757265f88c61a16a4d5\n",
      "https://android.googlesource.com/platform/external/libavc/+/6c327afb263837bc90760c55c6605b26161a4eb9\n",
      "https://android.googlesource.com/platform/external/libhevc/+/2b9fb0c2074d370a254b35e2489de2d94943578d\n",
      "https://android.googlesource.com/platform/external/libxml2/+/51e0cb2e5ec18eaf6fb331bc573ff27b743898f4\n",
      "https://android.googlesource.com/platform/external/libxml2/+/308396a55280f69ad4112d4f9892f4cbeff042aa\n"
     ]
    }
   ],
   "source": [
    "with open(\"android_code_link.txt\",\"w+\") as f:\n",
    "    for index, row in linkNotNull.iterrows():\n",
    "            f.write(row[\"codeLink\"]+\"\\n\")\n",
    "            print(row[\"codeLink\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "linkNotNull.to_csv(\"uniAndroidCSV.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "one = linkNotNull.iloc[0:1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Access Gained</th>\n",
       "      <th>Attack Origin</th>\n",
       "      <th>Authentication Required</th>\n",
       "      <th>Availability</th>\n",
       "      <th>CVE ID</th>\n",
       "      <th>CVE Page</th>\n",
       "      <th>CWE ID</th>\n",
       "      <th>Complexity</th>\n",
       "      <th>Confidentiality</th>\n",
       "      <th>Integrity</th>\n",
       "      <th>Known Exploits</th>\n",
       "      <th>Publish Date</th>\n",
       "      <th>Score</th>\n",
       "      <th>Summmary</th>\n",
       "      <th>Update Date</th>\n",
       "      <th>Vulnerability Classification</th>\n",
       "      <th>codeLink</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2014-8610</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2014-8610/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2014-12-15</td>\n",
       "      <td>3.3</td>\n",
       "      <td>AndroidManifest.xml in Android before 5.0.0 do...</td>\n",
       "      <td>2014-12-16</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/pack...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Access Gained Attack Origin Authentication Required Availability  \\\n",
       "31          None         Local            Not required         None   \n",
       "\n",
       "           CVE ID                                       CVE Page   CWE ID  \\\n",
       "31  CVE-2014-8610  https://www.cvedetails.com/cve/CVE-2014-8610/  CWE-264   \n",
       "\n",
       "   Complexity Confidentiality Integrity  Known Exploits Publish Date  Score  \\\n",
       "31     Medium         Partial   Partial             NaN   2014-12-15    3.3   \n",
       "\n",
       "                                             Summmary Update Date  \\\n",
       "31  AndroidManifest.xml in Android before 5.0.0 do...  2014-12-16   \n",
       "\n",
       "   Vulnerability Classification  \\\n",
       "31                          NaN   \n",
       "\n",
       "                                             codeLink  \n",
       "31  https://android.googlesource.com/platform/pack...  "
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "one"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "one.to_csv(\"onetest.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "#coding=utf8\n",
    "import sys\n",
    "import string\n",
    "from urllib.request import Request, urlopen\n",
    "from bs4 import BeautifulSoup\n",
    "import time\n",
    "import datetime\n",
    "import ssl\n",
    "\n",
    "ssl._create_default_https_context = ssl._create_unverified_context"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "metadata": {},
   "outputs": [],
   "source": [
    "#commit page to diff page\n",
    "#return diff page link\n",
    "def commit_to_diff(codeLink):\n",
    "    codeSoup=BeautifulSoup(urlopen(Request(codeLink,\n",
    "                          headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                          'html.parser')\n",
    "    #meta data div\n",
    "    codeDiv = codeSoup.find('div', class_='u-monospace Metadata')\n",
    "    for span in codeDiv.findAll('span'):\n",
    "        a = span.find('a')\n",
    "        if span.get_text() == \"[diff]\":\n",
    "            diffLinks = \"https://android.googlesource.com\"+a['href']\n",
    "    return diffLinks"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 138,
   "metadata": {},
   "outputs": [],
   "source": [
    "#get whole project \"before\" and \"after\" the commit\n",
    "def diff_to_project(diffLink):\n",
    "    projectSoup=BeautifulSoup(urlopen(Request(diffLink,\n",
    "                          headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                          'html.parser')\n",
    "    #meta data div\n",
    "    codeDiv = projectSoup.find('div', class_='u-monospace Metadata')\n",
    "    for th in codeDiv.findAll('th'):\n",
    "        #project before\n",
    "        if th.get_text() == \"tree\":\n",
    "            #get sibling\n",
    "            tree = th.next_sibling\n",
    "            treeA = tree.find('a')\n",
    "            treeLink = \"https://android.googlesource.com\"+treeA['href']\n",
    "        #project after\n",
    "        if th.get_text() == \"parent\":\n",
    "            #get sibling\n",
    "            parent = th.next_sibling\n",
    "            parentA = parent.find('a')\n",
    "            parentLink = \"https://android.googlesource.com\"+parentA['href']+\"/\"\n",
    "    return treeLink,parentLink"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 192,
   "metadata": {},
   "outputs": [],
   "source": [
    "#get whole file \"before\" and \"after\" the commit\n",
    "#more than one file sometimes\n",
    "#return two files\n",
    "def diff_to_file(diffLinks,path):\n",
    "    before = []\n",
    "    after = []\n",
    "    projectSoup=BeautifulSoup(urlopen(Request(diffLinks,\n",
    "                          headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                          'html.parser')\n",
    "    # more than one sometimes\n",
    "    diffDivs = projectSoup.findAll('pre', class_='u-pre u-monospace Diff')\n",
    "    for diffDiv in diffDivs:\n",
    "        files = diffDiv.findAll('a',href=True)\n",
    "        first = True\n",
    "        for file in files:\n",
    "            fileLink = \"https://android.googlesource.com\"+file['href']\n",
    "            before.append(fileLink)\n",
    "            # the first file?\n",
    "            if first:\n",
    "                text = \"\"\n",
    "                print(fileLink)\n",
    "                fileSoup=BeautifulSoup(urlopen(Request(fileLink,\n",
    "                          headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                          'html.parser')\n",
    "                fileContents = fileSoup.find('table', class_='FileContents')\n",
    "                fileLines = fileContents.findAll('td', class_='FileContents-lineContents')\n",
    "                for line in fileLines:\n",
    "                    spans = line.findAll('span')\n",
    "                    for span in spans:\n",
    "                        text += span.get_text(strip=False)\n",
    "                    text +=\"\\n\"\n",
    "                if not os.path.exists(path+\"/before\"):\n",
    "                    os.makedirs(path+\"/before\")\n",
    "                pos = fileLink.rfind(\"/\")\n",
    "                name = fileLink[pos:]\n",
    "                filePathName = path+\"before\"+name\n",
    "                with open(filePathName,\"w+\") as f:\n",
    "                    f.write(text)\n",
    "                first = False\n",
    "            else:\n",
    "                text = \"\"\n",
    "                print(fileLink)\n",
    "                fileSoup=BeautifulSoup(urlopen(Request(fileLink,\n",
    "                          headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                          'html.parser')\n",
    "                fileContents = fileSoup.find('table', class_='FileContents')\n",
    "                fileLines = fileContents.findAll('td', class_='FileContents-lineContents')\n",
    "                for line in fileLines:\n",
    "                    spans = line.findAll('span')\n",
    "                    for span in spans:\n",
    "                        text += span.get_text(strip=False)\n",
    "                    text +=\"\\n\"\n",
    "                if not os.path.exists(path+\"/after\"):\n",
    "                    os.makedirs(path+\"/after\")\n",
    "                pos = fileLink.rfind(\"/\")\n",
    "                name = fileLink[pos:]\n",
    "                filePathName = path+\"after\"+name\n",
    "                with open(filePathName,\"w+\") as f:\n",
    "                    f.write(text)\n",
    "                first = True\n",
    "    return before"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 155,
   "metadata": {},
   "outputs": [],
   "source": [
    "#get commit message from diff page\n",
    "#return message\n",
    "def diff_to_commit_message(diffLinks):\n",
    "    projectSoup=BeautifulSoup(urlopen(Request(diffLinks,\n",
    "                          headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                          'html.parser')\n",
    "    messageDiv = projectSoup.find('pre', class_='u-pre u-monospace MetadataMessage')\n",
    "    message = messageDiv.get_text()\n",
    "    return message"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {},
   "outputs": [],
   "source": [
    "#get diff message from diff page\n",
    "#return message\n",
    "def diff_to_diff_message(diffLinks):\n",
    "    projectSoup=BeautifulSoup(urlopen(Request(diffLinks,\n",
    "                          headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                          'html.parser')\n",
    "    # more than one sometimes\n",
    "    message = []\n",
    "    diffDivs = projectSoup.findAll('pre', class_='u-pre u-monospace Diff')\n",
    "    for diffDiv in diffDivs:\n",
    "        message.append(diffDiv.get_text())\n",
    "    return message"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 152,
   "metadata": {},
   "outputs": [],
   "source": [
    "#get diff unified message from diff page\n",
    "#return message\n",
    "def diff_to_diff_unified(diffLinks):\n",
    "    projectSoup=BeautifulSoup(urlopen(Request(diffLinks,\n",
    "                          headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                          'html.parser')\n",
    "    # more than one sometimes\n",
    "    message = []\n",
    "    diff_unified_divs = projectSoup.findAll('pre', class_='u-pre u-monospace Diff-unified')\n",
    "    for diff_unified_div in diff_unified_divs:\n",
    "        diff_unified_spans = diff_unified_div.findAll('span')\n",
    "        for diff_unified_span in diff_unified_spans:\n",
    "            message.append(diff_unified_span.get_text())\n",
    "    return message"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "https://android.googlesource.com/platform/packages/apps/Mms/+/008d6202fca4002a7dfe333f22377faa73585c67\n",
      "https://android.googlesource.com/platform/packages/apps/Settings/+/f5d3e74ecc2b973941d8adbe40c6b23094b5abb7\n",
      "https://android.googlesource.com/platform/frameworks/base/+/48ed835468c6235905459e6ef7df032baf3e4df6\n",
      "https://android.googlesource.com/platform/libcore/+/738c833d38d41f8f76eb7e77ab39add82b1ae1e2\n",
      "https://android.googlesource.com/platform/libcore/+/kitkat-release/luni/src/main/java/org/apache/harmony/security/provider/crypto/SHA1PRNG_SecureRandomImpl.java\n",
      "https://android.googlesource.com/platform/frameworks/av/+/cf1581c66c2ad8c5b1aaca2e43e350cf5974f46d\n",
      "https://android.googlesource.com/platform/frameworks/av/+/6fe85f7e15203e48df2cc3e8e1c4bc6ad49dc968\n",
      "https://android.googlesource.com/platform/system/security/+/bb9f4392c2f1b11be3acdc1737828274ff1ec55b\n",
      "https://android.googlesource.com/platform/frameworks/av/+/304ef91624e12661e7e35c2c0c235da84a73e9c0\n",
      "https://android.googlesource.com/platform/frameworks/base/+/8fba7e6931245a17215e0e740e78b45f6b66d590\n",
      "https://android.googlesource.com/platform/frameworks/opt/telephony/+/df31d37d285dde9911b699837c351aed2320b586\n",
      "https://android.googlesource.com/platform/frameworks/base/+/4cff1f49ff95d990d6c2614da5d5a23d02145885\n",
      "https://android.googlesource.com/platform/frameworks/base/+/1e72dc7a3074cd0b44d89afbf39bbf5000ef7cc3\n",
      "1\n",
      "https://android.googlesource.com/platform/frameworks/native/+/e68cbc3e9e66df4231e70efa3e9c41abc12aea20\n",
      "https://android.googlesource.com/platform/frameworks/base/+/e3cde784e3d99966f313fe00dcecf191f6a44a31\n",
      "https://android.googlesource.com/platform/frameworks/base/+/a5e904e7eb3aaec532de83ca52e24af18e0496b4\n",
      "https://android.googlesource.com/platform/frameworks/opt/telephony/+/b48581401259439dc5ef6dcf8b0f303e4cbefbe9\n",
      "https://android.googlesource.com/platform/packages/apps/Stk/+/1d8e00160c07ae308e5b460214eb2a425b93ccf7\n",
      "https://android.googlesource.com/platform/packages/services/Telephony/+/fcb1d13c320dd1a6350bc7af3166929b4d54a456\n",
      "1\n",
      "2\n",
      "3\n",
      "https://android.googlesource.com/platform/frameworks/av/+/aeea52da00d210587fb3ed895de3d5f2e0264c88\n",
      "https://android.googlesource.com/platform/external/conscrypt/+/edf7055461e2d7fa18de5196dca80896a56e3540\n",
      "https://android.googlesource.com/platform/external/sonivox/+/e999f077f6ef59d20282f1e04786816a31fb8be6\n",
      "https://android.googlesource.com/platform/frameworks/av/+/3cb1b6944e776863aea316e25fdc16d7f9962902\n",
      "https://android.googlesource.com/platform/frameworks/av/+/086d84f45ab7b64d1a7ed7ac8ba5833664a6a5ab\n",
      "1\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c82e31a7039a03dca7b37c65b7890ba5c1e18ced\n",
      "https://android.googlesource.com/platform/frameworks/base/+/aaa0fee0d7a8da347a0c47cef5249c70efee209e\n",
      "https://android.googlesource.com/platform/frameworks/av/+/d48f0f145f8f0f4472bc0af668ac9a8bce44ba9b\n",
      "https://android.googlesource.com/platform/frameworks/av/+/51504928746edff6c94a1c498cf99c0a83bedaed\n",
      "https://android.googlesource.com/platform/frameworks/av/+/2674a7218eaa3c87f2ee26d26da5b9170e10f859\n",
      "https://android.googlesource.com/platform/frameworks/av/+/f4f7e0c102819f039ebb1972b3dba1d3186bc1d1\n",
      "https://android.googlesource.com/platform/frameworks/av/+/f4a88c8ed4f8186b3d6e2852993e063fc33ff231\n",
      "https://android.googlesource.com/platform/frameworks/av/+/463a6f807e187828442949d1924e143cf07778c6\n",
      "https://android.googlesource.com/platform/frameworks/base/+/0b98d304c467184602b4c6bce76fda0b0274bc07\n",
      "https://android.googlesource.com/platform/frameworks/av/+/5e751957ba692658b7f67eb03ae5ddb2cd3d970c\n",
      "https://android.googlesource.com/platform/frameworks/av/+/2434839bbd168469f80dd9a22f1328bc81046398\n",
      "https://android.googlesource.com/platform/frameworks/base/+/d44e5bde18a41beda39d49189bef7f2ba7c8f3cb\n",
      "https://android.googlesource.com/platform/frameworks/native/+/7dcd0ec9c91688cfa3f679804ba6e132f9811254\n",
      "https://android.googlesource.com/platform/system/core/+/e8c62fb484151f76ab88b1d5130f38de24ac8c14\n",
      "1\n",
      "https://android.googlesource.com/platform/frameworks/native/+/38803268570f90e97452cd9a30ac831661829091\n",
      "https://android.googlesource.com/platform/frameworks/av/+/edd4a76eb4747bd19ed122df46fa46b452c12a0d\n",
      "https://android.googlesource.com/platform/frameworks/av/+/89c03b3b9ff74a507a8b8334c50b08b334483556\n",
      "https://android.googlesource.com/platform/frameworks/av/+/7c88b498fda1c2b608a9dd73960a2fd4d7b7e3f7\n",
      "https://android.googlesource.com/platform/frameworks/av/+/0f177948ae2640bfe4d70f8e4248e106406b3b0a\n",
      "https://android.googlesource.com/platform/frameworks/av/+/640b04121d7cd2cac90e2f7c82b97fce05f074a5\n",
      "https://android.googlesource.com/platform/frameworks/av/+/2c75e1c3b98e4e94f50c63e2b7694be5f948477c\n",
      "1\n",
      "2\n",
      "3\n",
      "https://android.googlesource.com/platform/external/libvpx/+/fdb1b40e7bb147c07bda988c9501ad223795d12d\n",
      "https://android.googlesource.com/platform/external/libvpx/+/063be1485e0099bc81ace3a08b0ec9186dcad693\n",
      "https://android.googlesource.com/platform/frameworks/av/+/1d4feebdb85db46e138530f360d9ff2490e14353\n",
      "https://android.googlesource.com/platform/frameworks/av/+/3b1c9f692c4d4b7a683c2b358fc89e831a641b88\n",
      "https://android.googlesource.com/platform/frameworks/base/+/218b813d5bc2d7d3952ea1861c38b4aa944ac59b\n",
      "https://android.googlesource.com/platform/frameworks/opt/net/wifi/+/c2905409c20c8692d4396b8531b09e7ec81fa3fb\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c894aa36be535886a8e5ff02cdbcd07dd24618f6\n",
      "https://android.googlesource.com/platform/frameworks/base/+/5f256310187b4ff2f13a7abb9afed9126facd7bc\n",
      "https://android.googlesource.com/platform/hardware/ril/+/95610818918f6f11fe7d23aca1380e6c0fac2af0\n",
      "https://android.googlesource.com/platform/system/core/+/771ab014c24a682b32990da08e87e2f0ab765bd2\n",
      "https://android.googlesource.com/platform/frameworks/av/+/6d0249be2275fd4086783f259f4e2c54722a7c55\n",
      "https://android.googlesource.com/platform/packages/apps/Email/+/6b2b0bd7c771c698f11d7be89c2c57c8722c7454\n",
      "https://android.googlesource.com/platform/frameworks/base/+/f5334952131afa835dd3f08601fb3bced7b781cd\n",
      "https://android.googlesource.com/platform/system/media/+/8e7a2b4d13bff03973dbad2bfb88a04296140433\n",
      "https://android.googlesource.com/platform/system/media/+/e9e44f797742f52996ebf307740dad58c28fd9b5\n",
      "https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/3a3a5d145d380deef2d5b7c3150864cd04be397f\n",
      "https://android.googlesource.com/platform/frameworks/av/+/0c3b93c8c2027e74af642967eee5c142c8fd185d\n",
      "https://android.googlesource.com/platform/frameworks/base/+/6c049120c2d749f0c0289d822ec7d0aa692f55c5\n",
      "https://android.googlesource.com/platform/frameworks/base/+/2c7008421cb67f5d89f16911bdbe36f6c35311ad\n",
      "https://android.googlesource.com/platform/frameworks/av/+/035cb12f392860113dce96116a5150e2fde6f0cc\n",
      "https://android.googlesource.com/platform/frameworks/av/+/d4271b792bdad85a80e2b83ab34c4b30b74f53ec\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c48ef757cc50906e8726a3bebc3b60716292cdba\n",
      "1\n",
      "https://android.googlesource.com/platform/frameworks/base/+/96daf7d4893f614714761af2d53dfb93214a32e4\n",
      "https://android.googlesource.com/platform/frameworks/native/+/047eec456943dc082e33220d28abb7df4e089f69\n",
      "https://android.googlesource.com/platform/frameworks/native/+/d3c6ce463ac91ecbeb2128beb475d31d3ca6ef42\n",
      "1\n",
      "https://android.googlesource.com/platform/frameworks/av/+/97837bb6cbac21ea679843a0037779d3834bed64\n",
      "https://android.googlesource.com/platform/packages/services/Telephony/+/d1d248d10cf03498efb7041f1a8c9c467482a19d\n",
      "https://android.googlesource.com/platform/frameworks/base/+/81be4e3aac55305cbb5c9d523cf5c96c66604b39\n",
      "https://android.googlesource.com/platform/frameworks/base/+/55271d454881b67ff38485fdd97598c542cc2d55\n",
      "1\n",
      "https://android.googlesource.com/platform/packages/apps/Email/+/cb2dfe43f25cb0c32cc73aa4569c0a5186a4ef43\n",
      "https://android.googlesource.com/platform/frameworks/native/+/363247929c35104b3e5ee9e637e9dcf579080aee\n",
      "https://android.googlesource.com/platform/system/core/+/014b01706cc64dc9c2ad94a96f62e07c058d0b5d\n",
      "https://android.googlesource.com/platform/system/core/+/268068f25673242d1d5130d96202d3288c91b700\n",
      "1\n",
      "https://android.googlesource.com/platform/frameworks/base/+/e206f02d46ae5e38c74d138b51f6e1637e261abe\n",
      "https://android.googlesource.com/platform/packages/apps/Settings/+/bd5d5176c74021e8cf4970f93f273ba3023c3d72\n",
      "1\n",
      "https://android.googlesource.com/platform/frameworks/opt/telephony/+/b8d1aee993dcc565e6576b2f2439a8f5a507cff6\n",
      "https://android.googlesource.com/platform/frameworks/base/+/335702d106797bce8a88044783fa1fc1d5f751d0\n",
      "https://android.googlesource.com/platform/frameworks/base/+/6ca6cd5a50311d58a1b7bf8fbef3f9aa29eadcd5\n",
      "https://android.googlesource.com/platform/system/core/+/d7603583f90c2bc6074a4ee2886bd28082d7c65b\n",
      "https://android.googlesource.com/platform/frameworks/base/+/61e9103b5725965568e46657f4781dd8f2e5b623\n",
      "https://android.googlesource.com/platform/frameworks/opt/telephony/+/b2c89e6f8962dc7aff88cb38aa3ee67d751edda9\n",
      "https://android.googlesource.com/platform/frameworks/opt/net/wifi/+/35a86eef3c0eef760f7e61c52a343327ba601630\n",
      "https://android.googlesource.com/platform/external/libvpx/+/4974dcbd0289a2530df2ee2a25b5f92775df80da\n",
      "https://android.googlesource.com/platform/frameworks/av/+/68f67ef6cf1f41e77337be3bc4bff91f3a3c6324\n",
      "https://android.googlesource.com/platform/external/sonivox/+/cadfb7a3c96d4fef06656cf37143e1b3e62cae86\n",
      "https://android.googlesource.com/platform/external/libavc/+/7109ce3f8f90a28ca9f0ee6e14f6ac5e414c62cf\n",
      "https://android.googlesource.com/platform/frameworks/base/+/91fc934bb2e5ea59929bb2f574de6db9b5100745\n",
      "https://android.googlesource.com/platform/frameworks/base/+/69729fa8b13cadbf3173fe1f389fe4f3b7bd0f9c\n",
      "https://android.googlesource.com/platform/frameworks/av/+/9f9ba255a0c59544f3555c9c45512c3a2fac5fad\n",
      "https://android.googlesource.com/platform/frameworks/av/+/630ed150f7201ddadb00b8b8ce0c55c4cc6e8742\n",
      "1\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c2639afac631f5c1ffddf70ee8a6fe943d0bedf9\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c17ad2f0c7e00fd1bbf01d0dfed41f72d78267ad\n",
      "https://android.googlesource.com/platform/frameworks/av/+/3c4edac2a5b00dec6c8579a0ee658cfb3bb16d94\n",
      "1\n",
      "2\n",
      "https://android.googlesource.com/platform/frameworks/av/+/1e9801783770917728b7edbdeff3d0ec09c621ac\n",
      "https://android.googlesource.com/platform/frameworks/av/+/119a012b2a9a186655da4bef3ed4ed8dd9b94c26\n",
      "https://android.googlesource.com/platform/frameworks/base/+/e739d9ca5469ed30129d0fa228e3d0f2878671ac\n",
      "https://android.googlesource.com/platform/system/core/+/ecf5fd58a8f50362ce9e8d4245a33d56f29f142b\n",
      "https://android.googlesource.com/platform/frameworks/native/+/1f4b49e64adf4623eefda503bca61e253597b9bf\n",
      "https://android.googlesource.com/platform/frameworks/av/+/3944c65637dfed14a5a895685edfa4bacaf9f76e\n",
      "https://android.googlesource.com/platform/frameworks/base/+/866dc26ad4a98cc835d075b627326e7d7e52ffa1\n",
      "1\n",
      "2\n",
      "3\n",
      "https://android.googlesource.com/platform/external/conscrypt/+/5af5e93463f4333187e7e35f3bd2b846654aa214\n",
      "https://android.googlesource.com/platform/system/bt/+/472271b153c5dc53c28beac55480a8d8434b2d5c\n",
      "https://android.googlesource.com/platform/frameworks/base/+/468651c86a8adb7aa56c708d2348e99022088af3\n",
      "https://android.googlesource.com/platform/frameworks/opt/net/wifi/+/a209ff12ba9617c10550678ff93d01fb72a33399\n",
      "https://android.googlesource.com/platform/frameworks/native/+/3bcf0caa8cca9143443814b36676b3bae33a4368\n",
      "https://android.googlesource.com/platform/hardware/qcom/media/+/7558d03e6498e970b761aa44fff6b2c659202d95\n",
      "https://android.googlesource.com/platform/frameworks/av/+/1f24c730ab6ca5aff1e3137b340b8aeaeda4bdbc\n",
      "https://android.googlesource.com/platform/frameworks/base/+/4e4743a354e26467318b437892a9980eb9b8328a\n",
      "https://android.googlesource.com/platform/frameworks/base/+/01875b0274e74f97edf6b0d5c92de822e0555d03\n",
      "1\n",
      "https://android.googlesource.com/platform/frameworks/base/+/e7cf91a198de995c7440b3b64352effd2e309906\n",
      "https://android.googlesource.com/platform/frameworks/opt/telephony/+/f47bc301ccbc5e6d8110afab5a1e9bac1d4ef058\n",
      "https://android.googlesource.com/platform/frameworks/av/+/8e438e153f661e9df8db0ac41d587e940352df06\n",
      "https://android.googlesource.com/platform/external/libavc/+/326fe991a4b7971e8aeaf4ac775491dd8abd85bb\n",
      "https://android.googlesource.com/platform/external/libavc/+/7554755536019e439433c515eeb44e701fb3bfb2\n",
      "https://android.googlesource.com/platform/frameworks/av/+/a4567c66f4764442c6cb7b5c1858810194480fb5\n",
      "https://android.googlesource.com/platform/frameworks/av/+/9cd8c3289c91254b3955bd7347cf605d6fa032c6\n",
      "https://android.googlesource.com/platform/hardware/qcom/media/+/d575ecf607056d8e3328ef2eb56c52e98f81e87d\n",
      "https://android.googlesource.com/platform/frameworks/av/+/b351eabb428c7ca85a34513c64601f437923d576\n",
      "https://android.googlesource.com/platform/external/jhead/+/bae671597d47b9e5955c4cb742e468cebfd7ca6b\n",
      "https://android.googlesource.com/platform/frameworks/av/+/42a25c46b844518ff0d0b920c20c519e1417be69\n",
      "https://android.googlesource.com/platform/external/libavc/+/a78887bcffbc2995cf9ed72e0697acf560875e9e\n",
      "https://android.googlesource.com/platform/frameworks/av/+/590d1729883f700ab905cdc9ad850f3ddd7e1f56\n",
      "https://android.googlesource.com/platform/frameworks/av/+/e7142a0703bc93f75e213e96ebc19000022afed9\n",
      "https://android.googlesource.com/platform/frameworks/av/+/6fdee2a83432b3b150d6a34f231c4e2f7353c01e\n",
      "1\n",
      "https://android.googlesource.com/platform/external/libmpeg2/+/d1c775d1d8d2ed117d1e026719b7f9f089716597\n",
      "https://android.googlesource.com/platform/frameworks/av/+/daef4327fe0c75b0a90bb8627458feec7a301e1f\n",
      "https://android.googlesource.com/platform/frameworks/base/+/ec2fc50d202d975447211012997fe425496c849c\n",
      "https://android.googlesource.com/platform/external/sepolicy/+/abf0663ed884af7bc880a05e9529e6671eb58f39\n",
      "https://android.googlesource.com/platform/packages/apps/Nfc/+/9ea802b5456a36f1115549b645b65c791eff3c2c\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "https://android.googlesource.com/platform/system/bt/+/37c88107679d36c419572732b4af6e18bb2f7dce\n",
      "https://android.googlesource.com/platform/packages/apps/Bluetooth/+/122feb9a0b04290f55183ff2f0384c6c53756bd8\n",
      "https://android.googlesource.com/platform/hardware/libhardware/+/8b3d5a64c3c8d010ad4517f652731f09107ae9c5\n",
      "1\n",
      "2\n",
      "https://android.googlesource.com/platform/frameworks/base/+/9b8c6d2df35455ce9e67907edded1e4a2ecb9e28\n",
      "https://android.googlesource.com/platform/dalvik/+/338aeaf28e9981c15d0673b18487dba61eb5447c\n",
      "https://android.googlesource.com/platform/system/core/+/ae18eb014609948a40e22192b87b10efc680daa7\n",
      "https://android.googlesource.com/platform/external/tremolo/+/659030a2e80c38fb8da0a4eb68695349eec6778b\n",
      "https://android.googlesource.com/platform/external/libavc/+/d4841f1161bdb5e13cb19e81af42437a634dd6ef\n",
      "https://android.googlesource.com/platform/frameworks/av/+/6fdee2a83432b3b150d6a34f231c4e2f7353c01e\n",
      "https://android.googlesource.com/platform/frameworks/av/+/e7142a0703bc93f75e213e96ebc19000022afed9\n",
      "1\n",
      "https://android.googlesource.com/platform/frameworks/base/+/ddbf2db5b946be8fdc45c7b0327bf560b2a06988\n",
      "https://android.googlesource.com/platform/external/libpng/+/9d4853418ab2f754c2b63e091c29c5529b8b86ca\n",
      "https://android.googlesource.com/platform/frameworks/native/+/54cb02ad733fb71b1bdf78590428817fb780aff8\n",
      "https://android.googlesource.com/platform/frameworks/base/+/e83f0f6a5a6f35323f5367f99c8e287c440f33f5\n",
      "https://android.googlesource.com/platform/external/sepolicy/+/556bb0f55324e8839d7b735a0de9bc31028e839e\n",
      "https://android.googlesource.com/platform/hardware/qcom/media/+/4ed06d14080d8667d5be14eed200e378cba78345\n",
      "https://android.googlesource.com/platform/hardware/qcom/media/+/5b82f4f90c3d531313714df4b936f92fb0ff15cf\n",
      "https://android.googlesource.com/platform/hardware/qcom/audio/+/073a80800f341325932c66818ce4302b312909a4\n",
      "https://android.googlesource.com/platform/system/bt/+/514139f4b40cbb035bb92f3e24d5a389d75db9e6\n",
      "https://android.googlesource.com/platform/external/libavc/+/ecf6c7ce6d5a22d52160698aab44fc234c63291a\n",
      "https://android.googlesource.com/platform/external/libavc/+/a583270e1c96d307469c83dc42bd3c5f1b9ef63f\n",
      "https://android.googlesource.com/platform/external/libavc/+/cc676ebd95247646e67907ccab150fb77a847335\n",
      "https://android.googlesource.com/platform/external/libavc/+/e629194c62a9a129ce378e08cb1059a8a53f1795\n",
      "1\n",
      "https://android.googlesource.com/platform/frameworks/av/+/f81038006b4c59a5a148dcad887371206033c28f\n",
      "https://android.googlesource.com/platform/frameworks/av/+/d112f7d0c1dbaf0368365885becb11ca8d3f13a4\n",
      "1\n",
      "https://android.googlesource.com/platform/frameworks/av/+/60547808ca4e9cfac50028c00c58a6ceb2319301\n",
      "https://android.googlesource.com/platform/frameworks/av/+/e248db02fbab2ee9162940bc19f087fd7d96cb9d\n",
      "https://android.googlesource.com/platform/frameworks/av/+/4f236c532039a61f0cf681d2e3c6e022911bbb5c\n",
      "https://android.googlesource.com/platform/frameworks/base/+/9878bb99b77c3681f0fda116e2964bac26f349c3\n",
      "https://android.googlesource.com/platform/frameworks/av/+/dd3546765710ce8dd49eb23901d90345dec8282f\n",
      "https://android.googlesource.com/platform/frameworks/base/+/a75537b496e9df71c74c1d045ba5569631a16298\n",
      "https://android.googlesource.com/platform/packages/apps/PackageInstaller/+/2068c7997265011ddc5e4dfa3418407881f7f81e\n",
      "https://android.googlesource.com/platform/frameworks/native/+/03a53d1c7765eeb3af0bc34c3dff02ada1953fbf\n",
      "https://android.googlesource.com/platform/frameworks/base/+/613f63b938145bb86cd64fe0752eaf5e99b5f628\n",
      "1\n",
      "2\n",
      "https://android.googlesource.com/platform/frameworks/av/+/b57b3967b1a42dd505dbe4fcf1e1d810e3ae3777\n",
      "https://android.googlesource.com/platform/frameworks/av/+/45737cb776625f17384540523674761e6313e6d4\n",
      "1\n",
      "https://android.googlesource.com/platform/system/core/+/864e2e22fcd0cba3f5e67680ccabd0302dfda45d\n",
      "https://android.googlesource.com/platform/frameworks/av/+/4e32001e4196f39ddd0b86686ae0231c8f5ed944\n",
      "https://android.googlesource.com/platform/frameworks/av/+/d2f47191538837e796e2b10c1ff7e1ee35f6e0ab\n",
      "https://android.googlesource.com/platform/frameworks/av/+/918eeaa29d99d257282fafec931b4bda0e3bae12\n",
      "1\n",
      "2\n",
      "https://android.googlesource.com/platform/frameworks/av/+/ad40e57890f81a3cf436c5f06da66396010bd9e5\n",
      "https://android.googlesource.com/platform/frameworks/av/+/7cea5cb64b83d690fe02bc210bbdf08f5a87636f\n",
      "https://android.googlesource.com/platform/hardware/qcom/media/+/89913d7df36dbeb458ce165856bd6505a2ec647d\n",
      "https://android.googlesource.com/platform/hardware/qcom/media/+/46e305be6e670a5a0041b0b4861122a0f1aabefa\n",
      "https://android.googlesource.com/platform/hardware/qcom/media/+/560ccdb509a7b86186fac0fce1b25bd9a3e6a6e8\n",
      "https://android.googlesource.com/platform/hardware/qcom/media/+/f22c2a0f0f9e030c240468d9d18b9297f001bcf0\n",
      "https://android.googlesource.com/platform/frameworks/av/+/0bb5ced60304da7f61478ffd359e7ba65d72f181\n",
      "https://android.googlesource.com/platform/frameworks/av/+/295c883fe3105b19bcd0f9e07d54c6b589fc5bff\n",
      "https://android.googlesource.com/platform/frameworks/av/+/db829699d3293f254a7387894303451a91278986\n",
      "https://android.googlesource.com/platform/frameworks/av/+/94d9e646454f6246bf823b6897bd6aea5f08eda3\n",
      "1\n",
      "2\n",
      "3\n",
      "https://android.googlesource.com/platform/external/libvpx/+/cc274e2abe8b2a6698a5c47d8aa4bb45f1f9538d\n",
      "https://android.googlesource.com/platform/external/libvpx/+/65c49d5b382de4085ee5668732bcb0f6ecaf7148\n",
      "1\n",
      "https://android.googlesource.com/platform/frameworks/av/+/2b6f22dc64d456471a1dc6df09d515771d1427c8\n",
      "https://android.googlesource.com/platform/external/conscrypt/+/8bec47d2184fca7e8b7337d2a65b2b75a9bc8f54\n",
      "https://android.googlesource.com/platform/external/conscrypt/+/1638945d4ed9403790962ec7abed1b7a232a9ff8\n",
      "https://android.googlesource.com/platform/external/conscrypt/+/50d0447566db4a77d78d592f1c1b5d31096fac8f\n",
      "1\n",
      "https://android.googlesource.com/platform/frameworks/native/+/a30d7d90c4f718e46fb41a99b3d52800e1011b73\n",
      "https://android.googlesource.com/platform/packages/apps/UnifiedEmail/+/a55168330d9326ff2120285763c818733590266a\n",
      "https://android.googlesource.com/platform/packages/apps/Email/+/2791f0b33b610247ef87278862e66c6045f89693\n",
      "1\n",
      "https://android.googlesource.com/platform/frameworks/base/+/12332e05f632794e18ea8c4ac52c98e82532e5db\n",
      "https://android.googlesource.com/platform/frameworks/av/+/44749eb4f273f0eb681d0fa013e3beef754fa687\n",
      "https://android.googlesource.com/platform/frameworks/av/+/daa85dac2055b22dabbb3b4e537597e6ab73a866\n",
      "https://android.googlesource.com/platform/frameworks/av/+/65756b4082cd79a2d99b2ccb5b392291fd53703f\n",
      "1\n",
      "2\n",
      "https://android.googlesource.com/platform/frameworks/av/+/f9ed2fe6d61259e779a37d4c2d7edb33a1c1f8ba\n",
      "https://android.googlesource.com/platform/frameworks/av/+/7fd96ebfc4c9da496c59d7c45e1f62be178e626d\n",
      "https://android.googlesource.com/platform/frameworks/av/+/b04aee833c5cfb6b31b8558350feb14bb1a0f353\n",
      "https://android.googlesource.com/platform/frameworks/av/+/a2d1d85726aa2a3126e9c331a8e00a8c319c9e2b\n",
      "https://android.googlesource.com/platform/frameworks/native/+/a59b827869a2ea04022dd225007f29af8d61837a\n",
      "https://android.googlesource.com/platform/system/bt/+/9b534de2aca5d790c2a1c4d76b545f16137d95dd\n",
      "https://android.googlesource.com/platform/system/core/+/ad54cfed4516292654c997910839153264ae00a0\n",
      "https://android.googlesource.com/platform/external/flac/+/b499389da21d89d32deff500376c5ee4f8f0b04c\n",
      "https://android.googlesource.com/platform/external/aac/+/5d4405f601fa11a8955fd7611532c982420e4206\n",
      "https://android.googlesource.com/platform/frameworks/base/+/63363af721650e426db5b0bdfb8b2d4fe36abdb0\n",
      "https://android.googlesource.com/platform/packages/apps/UnifiedEmail/+/0d9dfd649bae9c181e3afc5d571903f1eb5dc46f\n",
      "https://android.googlesource.com/platform/frameworks/base/+/d3383d5bfab296ba3adbc121ff8a7b542bde4afb\n",
      "https://android.googlesource.com/platform/packages/services/Telecomm/+/a06c9a4aef69ae27b951523cf72bf72412bf48fa\n",
      "https://android.googlesource.com/platform/packages/apps/CertInstaller/+/70dde9870e9450e10418a32206ac1bb30f036b2c\n",
      "https://android.googlesource.com/platform/system/core/+/81df1cc77722000f8d0025c1ab00ced123aa573c\n",
      "https://android.googlesource.com/platform/system/core/+/669ecc2f5e80ff924fa20ce7445354a7c5bcfd98\n",
      "1\n",
      "https://android.googlesource.com/platform/frameworks/av/+/5a856f2092f7086aa0fea9ae06b9255befcdcd34\n",
      "https://android.googlesource.com/platform/frameworks/av/+/8d87321b704cb3f88e8cae668937d001fd63d5e3\n",
      "https://android.googlesource.com/platform/frameworks/av/+/1171e7c047bf79e7c93342bb6a812c9edd86aa84\n",
      "https://android.googlesource.com/platform/frameworks/native/+/a40b30f5c43726120bfe69d41ff5aeb31fe1d02a\n",
      "https://android.googlesource.com/platform/frameworks/native/+/85d253fab5e2c01bd90990667c6de25c282fc5cd\n",
      "1\n",
      "https://android.googlesource.com/platform/packages/apps/Exchange/+/0d1a38b1755efe7ed4e8d7302a24186616bba9b2\n",
      "https://android.googlesource.com/platform/frameworks/minikin/+/f4785aa1947b8d22d5b19559ef1ca526d98e0e73\n",
      "https://android.googlesource.com/platform/frameworks/minikin/+/ca8ac8acdad662230ae37998c6c4091bb39402b6\n",
      "1\n",
      "https://android.googlesource.com/platform/frameworks/av/+/25be9ac20db51044e1b09ca67906355e4f328d48\n",
      "https://android.googlesource.com/platform/external/skia/+/b36c23b3e6b0b316075cc43e466d44c62508fcac\n",
      "https://android.googlesource.com/platform/frameworks/av/+/5a6788730acfc6fd8f4a6ef89d2c376572a26b55\n",
      "https://android.googlesource.com/platform/external/libvpx/+/04839626ed859623901ebd3a5fd483982186b59d\n",
      "https://android.googlesource.com/platform/external/libvpx/+/5a9753fca56f0eeb9f61e342b2fccffc364f9426\n",
      "1\n",
      "2\n",
      "https://android.googlesource.com/platform/external/dhcpcd/+/1390ace71179f04a09c300ee8d0300aa69d9db09\n",
      "https://android.googlesource.com/platform/external/bluetooth/bluedroid/+/c677ee92595335233eb0e7b59809a1a94e7a678a\n",
      "https://android.googlesource.com/platform/bootable/recovery/+/28a566f7731b4cb76d2a9ba16d997ac5aeb07dad\n",
      "https://android.googlesource.com/platform/packages/providers/DownloadProvider/+/bdc831357e7a116bc561d51bf2ddc85ff11c01a9\n",
      "https://android.googlesource.com/platform/packages/services/Telephony/+/a294ae5342410431a568126183efe86261668b5d\n",
      "https://android.googlesource.com/platform/packages/services/Telecomm/+/2750faaa1ec819eed9acffea7bd3daf867fda444\n",
      "1\n",
      "https://android.googlesource.com/platform/frameworks/native/+/f3199c228aced7858b75a8070b8358c155ae0149\n",
      "https://android.googlesource.com/platform/external/sepolicy/+/57531cacb40682be4b1189c721fd1e7f25bf3786\n",
      "https://android.googlesource.com/platform/external/libavc/+/943323f1d9d3dd5c2634deb26cbe72343ca6b3db\n",
      "https://android.googlesource.com/platform/frameworks/av/+/3097f364237fb552871f7639d37a7afa4563e252\n",
      "https://android.googlesource.com/platform/external/libavc/+/c57fc3703ae2e0d41b1f6580c50015937f2d23c1\n",
      "https://android.googlesource.com/platform/hardware/qcom/audio/+/ebbb82365172337c6c250c6cac4e326970a9e351\n",
      "https://android.googlesource.com/platform/external/sonivox/+/3ac044334c3ff6a61cb4238ff3ddaf17c7efcf49\n",
      "https://android.googlesource.com/platform/external/sonivox/+/24d7c408c52143bce7b49de82f3913fd8d1219cf\n",
      "1\n",
      "https://android.googlesource.com/platform/frameworks/av/+/7a282fb64fef25349e9d341f102d9cea3bf75baf\n",
      "https://android.googlesource.com/platform/external/libmpeg2/+/8b4ed5a23175b7ffa56eea4678db7287f825e985\n",
      "https://android.googlesource.com/platform/external/libmpeg2/+/ba604d336b40fd4bde1622f64d67135bdbd61301\n",
      "https://android.googlesource.com/platform/external/libmpeg2/+/58a6822d7140137ce957c6d2fc20bae1374186c1\n",
      "1\n",
      "https://android.googlesource.com/platform/frameworks/opt/telephony/+/79eecef63f3ea99688333c19e22813f54d4a31b1\n",
      "https://android.googlesource.com/platform/system/bt/+/d77f1999ecece56c1cbb333f4ddc26f0b5bac2c5\n",
      "https://android.googlesource.com/platform/frameworks/native/+/d06421fd37fbb7fd07002e6738fac3a223cb1a62\n",
      "https://android.googlesource.com/platform/frameworks/native/+/dded8fdbb700d6cc498debc69a780915bc34d755\n",
      "https://android.googlesource.com/platform/frameworks/av/+/9e29523b9537983b4c4b205ff868d0b3bca0383b\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c9ab2b0bb05a7e19fb057e79b36e232809d70122\n",
      "https://android.googlesource.com/platform/frameworks/av/+/899823966e78552bb6dfd7772403a4f91471d2b0\n",
      "1\n",
      "https://android.googlesource.com/platform/external/libmpeg2/+/ffab15eb80630dc799eb410855c93525b75233c3\n",
      "https://android.googlesource.com/platform/external/conscrypt/+/c4ab1b959280413fb11bf4fd7f6b4c2ba38bd779\n",
      "https://android.googlesource.com/platform/external/conscrypt/+/4c9f9c2201116acf790fca25af43995d29980ee0\n",
      "1\n",
      "https://android.googlesource.com/platform/external/libavc/+/4a524d3a8ae9aa20c36430008e6bd429443f8f1d\n",
      "https://android.googlesource.com/platform%2Fframeworks%2Fav/+/5403587a74aee2fb57076528c3927851531c8afb\n",
      "https://android.googlesource.com/platform%2Fframeworks%2Fbase/+/16a76dadcc23a13223e9c2216dad1fe5cad7d6e1\n",
      "https://android.googlesource.com/platform%2Fframeworks%2Fbase/+/84669ca8de55d38073a0dcb01074233b0a417541\n",
      "https://android.googlesource.com/platform%2Fframeworks%2Fav/+/22f824feac43d5758f9a70b77f2aca840ba62c3b\n",
      "https://android.googlesource.com/platform%2Fframeworks%2Fav/+/19c47afbc402542720ddd280e1bbde3b2277b586\n",
      "https://android.googlesource.com/platform/hardware/broadcom/wlan/+/2c5a4fac8bc8198f6a2635ede776f8de40a0c3e1\n",
      "https://android.googlesource.com/platform/frameworks/minikin/+/ed4c8d79153baab7f26562afb8930652dfbf853b\n",
      "https://android.googlesource.com/platform%2Fsystem%2Fcore/+/d917514bd6b270df431ea4e781a865764d406120\n",
      "https://android.googlesource.com/platform%2Fframeworks%2Fav/+/224858e719d045c8554856b12c4ab73d2375cf33\n",
      "https://android.googlesource.com/platform%2Fframeworks%2Fav/+/50270d98e26fa18b20ca88216c3526667b724ba7\n",
      "https://android.googlesource.com/kernel%2Fcommon/+/69bfe2d957d903521d32324190c2754cb073be15\n",
      "https://android.googlesource.com/platform/frameworks/base/+/05e0705177d2078fa9f940ce6df723312cfab976\n",
      "https://android.googlesource.com/platform/hardware/ril/+/cd5f15f588a5d27e99ba12f057245bfe507f8c42\n",
      "https://android.googlesource.com/platform/frameworks/base/+/c574568aaede7f652432deb7707f20ae54bbdf9a\n",
      "https://android.googlesource.com/platform/frameworks/av/+/8a3a2f6ea7defe1a81bb32b3c9f3537f84749b9d\n",
      "https://android.googlesource.com/platform/external/libhevc/+/87fb7909c49e6a4510ba86ace1ffc83459c7e1b9\n",
      "https://android.googlesource.com/platform/frameworks/av/+/d07f5c14e811951ff9b411ceb84e7288e0d04aaf\n",
      "https://android.googlesource.com/platform/frameworks/av/+/d834160d9759f1098df692b34e6eeb548f9e317b\n",
      "https://android.googlesource.com/platform/frameworks/av/+/f490fc335772a9b14e78997486f4a572b0594c04\n",
      "https://android.googlesource.com/platform/external/tremolo/+/eeb4e45d5683f88488c083ecf142dc89bc3f0b47\n",
      "https://android.googlesource.com/platform/frameworks/av/+/7fa3f552a6f34ed05c15e64ea30b8eed53f77a41\n",
      "https://android.googlesource.com/device/google/dragon/+/7df7ec13b1d222ac3a66797fbe432605ea8f973f\n",
      "https://android.googlesource.com/platform/external/libhevc/+/25c0ffbe6a181b4a373c3c9b421ea449d457e6ed\n",
      "https://android.googlesource.com/platform/external/libmpeg2/+/7737780815fe523ad7b0e49456eb75d27a30818a\n",
      "https://android.googlesource.com/platform/frameworks/av/+/552a3b5df2a6876d10da20f72e4cc0d44ac2c790\n",
      "https://android.googlesource.com/platform/libcore/+/809681f310663288e83587089abb7715c68f6924\n",
      "https://android.googlesource.com/platform/frameworks/base/+/b87c968e5a41a1a09166199bf54eee12608f3900\n",
      "https://android.googlesource.com/platform/external/libhevc/+/913d9e8d93d6b81bb8eac3fc2c1426651f5b259d\n",
      "https://android.googlesource.com/platform/external/libvpx/+/698796fc930baecf5c3fdebef17e73d5d9a58bcb\n",
      "https://android.googlesource.com/platform/external/libhevc/+/ebaa71da6362c497310377df509651974401d258\n",
      "https://android.googlesource.com/platform/frameworks/av/+/523f6b49c1a2289161f40cf9fe80b92e592e9441\n",
      "https://android.googlesource.com/platform/frameworks/av/+/36b04932bb93cc3269279282686b439a17a89920\n",
      "https://android.googlesource.com/platform/frameworks/av/+/961e5ac5788b52304e64b9a509781beaf5201fb0\n",
      "https://android.googlesource.com/platform/external/libhevc/+/a1424724a00d62ac5efa0e27953eed66850d662f\n",
      "https://android.googlesource.com/platform/frameworks/av/+/5443b57cc54f2e46b35246637be26a69e9f493e1\n",
      "https://android.googlesource.com/platform/frameworks/av/+/594bf934384920618d2b6ce0bcda1f60144cb3eb\n",
      "https://android.googlesource.com/platform/frameworks/av/+/acc192347665943ca674acf117e4f74a88436922\n",
      "https://android.googlesource.com/platform/external/libavc/+/5c3fd5d93a268abb20ff22f26009535b40db3c7d\n",
      "https://android.googlesource.com/platform/external/libhevc/+/45c97f878bee15cd97262fe7f57ecea71990fed7\n",
      "https://android.googlesource.com/platform/external/libhevc/+/bcfc7124f6ef9f1ec128fb2e90de774a5b33d199\n",
      "https://android.googlesource.com/platform/frameworks/av/+/6f1d990ce0f116a205f467d9eb2082795e33872b\n",
      "https://android.googlesource.com/platform/external/libmpeg2/+/a86eb798d077b9b25c8f8c77e3c02c2f287c1ce7\n",
      "https://android.googlesource.com/platform/frameworks/av/+/50358a80b1724f6cf1bcdf003e1abf9cc141b122\n",
      "https://android.googlesource.com/platform/external/libmpeg2/+/227c1f829127405e21dab1664393050c652ef71e\n",
      "https://android.googlesource.com/platform/external/libmpeg2/+/f301cff2c1ddd880d9a2c77b22602a137519867b\n",
      "https://android.googlesource.com/platform/external/libavc/+/0b23c81c3dd9ec38f7e6806a3955fed1925541a0\n",
      "https://android.googlesource.com/platform/external/libavc/+/9a00f562a612d56e7b2b989d168647db900ba6cf\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "https://android.googlesource.com/platform/external/libavc/+/8b5fd8f24eba5dd19ab2f80ea11a9125aa882ae2\n",
      "https://android.googlesource.com/platform/external/libavc/+/494561291a503840f385fbcd11d9bc5f4dc502b8\n",
      "1\n",
      "https://android.googlesource.com/platform/external/libavc/+/7950bf47b6944546a0aff11a7184947de9591b51\n",
      "https://android.googlesource.com/platform/external/libavc/+/37345554fea84afd446d6d8fbb87feea5a0dde3f\n",
      "https://android.googlesource.com/platform/frameworks/av/+/9667e3eff2d34c3797c3b529370de47b2c1f1bf6\n",
      "https://android.googlesource.com/platform/external/libavc/+/f634481e940421020e52f511c1fb34aac1db4b2f\n",
      "https://android.googlesource.com/platform/external/libavc/+/33ef7de9ddc8ea7eb9cbc440d1cf89957a0c267b\n",
      "https://android.googlesource.com/platform/external/sonivox/+/56d153259cc3e16a6a0014199a2317dde333c978\n",
      "https://android.googlesource.com/platform/external/libhevc/+/01ca88bb6c5bdd44e071f8effebe12f1d7da9853\n",
      "https://android.googlesource.com/platform/external/libhevc/+/1ab5ce7e42feccd49e49752e6f58f9097ac5d254\n",
      "https://android.googlesource.com/platform/external/libavc/+/494561291a503840f385fbcd11d9bc5f4dc502b8\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c66c43ad571ed2590dcd55a762c73c90d9744bac\n",
      "https://android.googlesource.com/platform/hardware/qcom/audio/+/d72ea85c78a1a68bf99fd5804ad9784b4102fe57\n",
      "1\n",
      "https://android.googlesource.com/platform/frameworks/av/+/321ea5257e37c8edb26e66fe4ee78cca4cd915fe\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c66c43ad571ed2590dcd55a762c73c90d9744bac\n",
      "https://android.googlesource.com/platform/frameworks/av/+/7a3246b870ddd11861eda2ab458b11d723c7f62c\n",
      "https://android.googlesource.com/platform/frameworks/av/+/557bd7bfe6c4895faee09e46fc9b5304a956c8b7\n",
      "https://android.googlesource.com/platform/external/libvpx/+/6886e8e0a9db2dbad723dc37a548233e004b33bc\n",
      "https://android.googlesource.com/platform/frameworks/av/+/453b351ac5bd2b6619925dc966da60adf6b3126c\n",
      "https://android.googlesource.com/platform/external/libhevc/+/a33f6725d7e9f92330f995ce2dcf4faa33f6433f\n",
      "https://android.googlesource.com/platform/external/tremolo/+/5dc99237d49e73c27d3eca54f6ccd97d13f94de0\n",
      "https://android.googlesource.com/platform/external/libopus/+/0d052d64480a30e83fcdda80f4774624e044beb7\n",
      "https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c82e31a7039a03dca7b37c65b7890ba5c1e18ced%5E%21/#F0\n",
      "https://android.googlesource.com/platform/frameworks/av/+/b9096dc\n",
      "https://android.googlesource.com/platform/frameworks/av/+/6dc6c38%5E%21/\n",
      "https://android.googlesource.com/platform/frameworks/base/+/a8f6d1b%5E!/\n",
      "https://android.googlesource.com/platform/frameworks/av/+/36d1577%5E!/\n",
      "https://android.googlesource.com/platform/frameworks/native/+/ae33effd43a615183f089f0a216b5965e8104842%5E%21/#F0\n",
      "https://android.googlesource.com/platform/system/netd/+/931418b16c7197ca2df34c2a5609e49791125abe\n",
      "https://android.googlesource.com/platform/system/bt/+/6e4b8e505173f803a5fc05abc09f64eef89dc308\n",
      "https://android.googlesource.com/platform/system/bt/+/198888b8e0163bab7a417161c63e483804ae8e31\n",
      "https://android.googlesource.com/platform/system/bt/+/e8bbf5b0889790cf8616f4004867f0ff656f0551\n",
      "https://android.googlesource.com/platform/system/bt/+/30cec963095366536ca0b1306089154e09bfe1a9\n",
      "https://android.googlesource.com/platform/system/bt/+/830cb39cb2a0f1bf6704d264e2a5c5029c175dd7\n",
      "https://android.googlesource.com/platform/system/bt/+/5216e6120160b28d76e9ee4dff9995e772647511\n",
      "https://android.googlesource.com/platform/system/bt/+/11fb7aa03437eccac98d90ca2de1730a02a515e2\n",
      "https://android.googlesource.com/platform/system/bt/+/92a7bf8c44a236607c146240f3c0adc1ae01fedf\n",
      "https://android.googlesource.com/platform/system/bt/+/92a7bf8c44a236607c146240f3c0adc1ae01fedf,\n",
      "https://android.googlesource.com/platform/system/bt/+/9fe27a9b445f7e911286ed31c1087ceac567736b\n",
      "https://android.googlesource.com/platform/system/bt/+/d4a34fefbf292d1e02336e4e272da3ef1e3eef85,\n",
      "https://android.googlesource.com/platform/system/bt/+/d4a34fefbf292d1e02336e4e272da3ef1e3eef85\n",
      "1\n",
      "2\n",
      "3\n",
      "4\n",
      "https://android.googlesource.com/platform/system/bt/+/92a7bf8c44a236607c146240f3c0adc1ae01fedf\n",
      "https://android.googlesource.com/platform/system/bt/+/9fe27a9b445f7e911286ed31c1087ceac567736b\n",
      "https://android.googlesource.com/platform/system/bt/+/d4a34fefbf292d1e02336e4e272da3ef1e3eef85\n",
      "1\n",
      "2\n",
      "https://android.googlesource.com/platform/packages/apps/Settings/+/5e43341b8c7eddce88f79c9a5068362927c05b54\n",
      "https://android.googlesource.com/platform/frameworks/av/+/bf7a67c33c0f044abeef3b9746f434b7f3295bb1\n",
      "https://android.googlesource.com/platform/external/skia/+/77c955200ddd1761d6ed7a6c1578349fedbb55e4\n",
      "https://android.googlesource.com/platform/external/libmpeg2/+/bef16671c891e16f25a7b174bc528eea109357be\n",
      "https://android.googlesource.com/platform/external/libxaac/+/04e8cd58f075bec5892e369c8deebca9c67e855c\n",
      "https://android.googlesource.com/platform/frameworks/base/+/462aaeaa616e0bb1342e8ef7b472acc0cbc93deb,\n",
      "https://android.googlesource.com/platform/frameworks/base/+/ebc250d16c747f4161167b5ff58b3aea88b37acf\n",
      "https://android.googlesource.com/platform/packages/providers/DownloadProvider/+/e7364907439578ce5334bce20bb03fef2e88b107,\n",
      "1\n",
      "2\n",
      "https://android.googlesource.com/platform/frameworks/base/+/962fb40991f15be4f688d960aa00073683ebdd20\n",
      "https://android.googlesource.com/platform/frameworks/av/+/2b4667baa5a2badbdfec1794156ee17d4afef37c\n",
      "https://android.googlesource.com/platform/external/v8/+/a24543157ae2cdd25da43e20f4e48a07481e6ceb\n",
      "https://android.googlesource.com/platform/external/chromium-libpac/+/948d4753664cc4e6b33cc3de634ac8fd5f781382,\n",
      "1\n",
      "https://android.googlesource.com/platform/system/bt/+/dd28d8ddf2985d654781770c691c60b45d7f32b4\n",
      "https://android.googlesource.com/platform/external/libhevc/+/9f0fb67540d2259e4930d9bd5f1a1a6fb95af862\n",
      "https://android.googlesource.com/platform/frameworks/base/+/54f661b16b308cf38d1b9703214591c0f83df64d,\n",
      "https://android.googlesource.com/platform/frameworks/base/+/3b6f84b77c30ec0bab5147b0cffc192c86ba2634\n",
      "1\n",
      "https://android.googlesource.com/platform/external/libmpeg2/+/29a78a11844fc027fa44be7f8bd8dc1cf8bf89f6\n",
      "https://android.googlesource.com/platform/external/libavc/+/42cf02965b11c397dd37a0063e683cef005bc0ae\n",
      "https://android.googlesource.com/platform/external/libavc/+/e86d3cfd2bc28dac421092106751e5638d54a848\n",
      "https://android.googlesource.com/platform/frameworks/av/+/dd3ca4d6b81a9ae2ddf358b7b93d2f8c010921f5\n",
      "https://android.googlesource.com/platform/frameworks/ex/+/ede8f95361dcbf9757aaf6d25ce59fa3767344e3\n",
      "https://android.googlesource.com/platform/external/libvpx/+/55cd1dd7c8d0a3de907d22e0f12718733f4e41d9\n",
      "https://android.googlesource.com/platform/external/libhevc/+/3ed3c6b79a7b9a60c475dd4936ad57b0b92fd600\n",
      "https://android.googlesource.com/platform/external/libavc/+/5acaa6fc86c73a750e5f4900c4e2d44bf22f683a\n",
      "https://android.googlesource.com/platform/external/aac/+/8e3be529372892e20ccf196809bc73276c822189\n",
      "https://android.googlesource.com/platform/external/libhevc/+/7c9be319a279654e55a6d757265f88c61a16a4d5\n",
      "https://android.googlesource.com/platform/external/libavc/+/6c327afb263837bc90760c55c6605b26161a4eb9\n",
      "https://android.googlesource.com/platform/external/libhevc/+/2b9fb0c2074d370a254b35e2489de2d94943578d\n",
      "https://android.googlesource.com/platform/external/libxml2/+/51e0cb2e5ec18eaf6fb331bc573ff27b743898f4\n",
      "https://android.googlesource.com/platform/external/libxml2/+/308396a55280f69ad4112d4f9892f4cbeff042aa\n"
     ]
    }
   ],
   "source": [
    "#一行可能多个link 把它分开\n",
    "data = pd.pandas.read_csv(\"uniAndroidCSV.csv\")\n",
    "for index, row in data.iterrows():\n",
    "    pageURLs = row[\"codeLink\"]\n",
    "    URLs = filter(None,pageURLs.split(\"https://\"))\n",
    "    links = []\n",
    "    for URL in URLs:\n",
    "        links.append('https://'+ URL)\n",
    "    for i in links:\n",
    "        print(i)\n",
    "    if len(links)>0:\n",
    "        data.loc[index,\"codeLink\"] = links[0]\n",
    "        a = data.loc[index]\n",
    "        d = pd.DataFrame()\n",
    "        for i in range(1,len(links)):\n",
    "            print(i)\n",
    "            d = d.append([pd.DataFrame(a).T],ignore_index=True)\n",
    "            d.loc[i-1,\"codeLink\"] = links[i]\n",
    "        data=data.append(d,ignore_index=True)\n",
    "    else:\n",
    "        data.loc[index,\"codeLink\"] = links[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 132,
   "metadata": {},
   "outputs": [],
   "source": [
    "data.to_csv(\"uniAndroidCSV_split.csv.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 135,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = data.drop(columns=['Unnamed: 0'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 136,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Access Gained</th>\n",
       "      <th>Attack Origin</th>\n",
       "      <th>Authentication Required</th>\n",
       "      <th>Availability</th>\n",
       "      <th>CVE ID</th>\n",
       "      <th>CVE Page</th>\n",
       "      <th>CWE ID</th>\n",
       "      <th>Complexity</th>\n",
       "      <th>Confidentiality</th>\n",
       "      <th>Integrity</th>\n",
       "      <th>Known Exploits</th>\n",
       "      <th>Publish Date</th>\n",
       "      <th>Score</th>\n",
       "      <th>Summmary</th>\n",
       "      <th>Update Date</th>\n",
       "      <th>Vulnerability Classification</th>\n",
       "      <th>codeLink</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2014-8610</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2014-8610/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2014-12-15</td>\n",
       "      <td>3.3</td>\n",
       "      <td>AndroidManifest.xml in Android before 5.0.0 do...</td>\n",
       "      <td>2014-12-16</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/pack...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Admin</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2014-8609</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2014-8609/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2014-12-15</td>\n",
       "      <td>7.2</td>\n",
       "      <td>The addAccount method in src/com/android/setti...</td>\n",
       "      <td>2014-12-16</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/pack...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2014-8507</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2014-8507/</td>\n",
       "      <td>CWE-89</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2014-12-15</td>\n",
       "      <td>7.5</td>\n",
       "      <td>Multiple SQL injection vulnerabilities in the ...</td>\n",
       "      <td>2015-08-06</td>\n",
       "      <td>Exec Code Sql</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2014-7911</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2014-7911/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2014-12-15</td>\n",
       "      <td>7.2</td>\n",
       "      <td>luni/src/main/java/java/io/ObjectInputStream.j...</td>\n",
       "      <td>2014-12-16</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/libc...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2013-7372</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2013-7372/</td>\n",
       "      <td>CWE-310</td>\n",
       "      <td>Low</td>\n",
       "      <td>None</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2014-04-29</td>\n",
       "      <td>5</td>\n",
       "      <td>The engineNextBytes function in classlib/modul...</td>\n",
       "      <td>2014-04-30</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/libc...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-6575</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-6575/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10</td>\n",
       "      <td>SampleTable.cpp in libstagefright in Android b...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>DoS Exec Code Overflow Mem. Corr.</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3864</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3864/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10</td>\n",
       "      <td>Integer underflow in the MPEG4Extractor::parse...</td>\n",
       "      <td>2017-09-15</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3863</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3863/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>Multiple integer overflows in the Blob class i...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/syst...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2015-3861</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3861/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>5</td>\n",
       "      <td>Multiple integer overflows in the addVorbisCod...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>DoS Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3860</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3860/</td>\n",
       "      <td>CWE-284</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>7.2</td>\n",
       "      <td>packages/Keyguard/res/layout/keyguard_password...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3858</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3858/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>The checkDestination function in internal/tele...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3849</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3849/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>The Region_createFromParcel function in core/j...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2015-3845</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3845/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>6.8</td>\n",
       "      <td>The Parcel::appendFrom function in libs/binder...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2015-3844</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3844/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>6.8</td>\n",
       "      <td>The getProcessRecordLocked method in services/...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3843</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3843/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>The SIM Toolkit (STK) framework in Android bef...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3842</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3842/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>Multiple heap-based buffer overflows in libeff...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3837</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3837/</td>\n",
       "      <td>CWE-20</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>The OpenSSLX509Certificate class in org/conscr...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3836</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3836/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10</td>\n",
       "      <td>The Parse_wave function in arm-wt-22k/lib_src/...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>DoS Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3835</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3835/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>Buffer overflow in the OMXNodeInstance::emptyB...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3834</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3834/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10</td>\n",
       "      <td>Multiple integer overflows in the BnHDCP::onTr...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2015-3833</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3833/</td>\n",
       "      <td>CWE-284</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>4.3</td>\n",
       "      <td>The getRunningAppProcesses function in service...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3832</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3832/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10</td>\n",
       "      <td>Multiple buffer overflows in MPEG4Extractor.cp...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3831</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3831/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>Buffer overflow in the readAt function in BpMe...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3829</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3829/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10</td>\n",
       "      <td>Off-by-one error in the MPEG4Extractor::parseC...</td>\n",
       "      <td>2017-09-20</td>\n",
       "      <td>DoS Exec Code Overflow Mem. Corr.</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3828</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3828/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10</td>\n",
       "      <td>The MPEG4Extractor::parse3GPPMetaData function...</td>\n",
       "      <td>2017-09-20</td>\n",
       "      <td>DoS Exec Code Overflow Mem. Corr.</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3827</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3827/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>9.3</td>\n",
       "      <td>The MPEG4Extractor::parseChunk function in MPE...</td>\n",
       "      <td>2017-09-20</td>\n",
       "      <td>DoS Exec Code Overflow Mem. Corr.</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-3824</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-3824/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10</td>\n",
       "      <td>The MPEG4Extractor::parseChunk function in MPE...</td>\n",
       "      <td>2017-09-20</td>\n",
       "      <td>DoS Exec Code Overflow Mem. Corr.</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2015-1541</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-1541/</td>\n",
       "      <td>CWE-284</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>4.3</td>\n",
       "      <td>The AppWidgetServiceImpl implementation in com...</td>\n",
       "      <td>2015-10-01</td>\n",
       "      <td>Bypass</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-1539</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-1539/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10</td>\n",
       "      <td>Multiple integer underflows in the ESDS::parse...</td>\n",
       "      <td>2017-09-20</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2015-1538</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2015-1538/</td>\n",
       "      <td>CWE-189</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2015-09-30</td>\n",
       "      <td>10</td>\n",
       "      <td>Integer overflow in the SampleTable::setSample...</td>\n",
       "      <td>2017-09-20</td>\n",
       "      <td>Exec Code Overflow</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>347</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2016-2476</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2016-2476/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016-06-12</td>\n",
       "      <td>9.3</td>\n",
       "      <td>mediaserver in Android 4.x before 4.4.4, 5.0.x...</td>\n",
       "      <td>2016-06-13</td>\n",
       "      <td>Overflow +Priv</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>348</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2016-2476</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2016-2476/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016-06-12</td>\n",
       "      <td>9.3</td>\n",
       "      <td>mediaserver in Android 4.x before 4.4.4, 5.0.x...</td>\n",
       "      <td>2016-06-13</td>\n",
       "      <td>Overflow +Priv</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>349</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2016-2476</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2016-2476/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016-06-12</td>\n",
       "      <td>9.3</td>\n",
       "      <td>mediaserver in Android 4.x before 4.4.4, 5.0.x...</td>\n",
       "      <td>2016-06-13</td>\n",
       "      <td>Overflow +Priv</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>350</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2016-2464</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2016-2464/</td>\n",
       "      <td>CWE-20</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016-06-12</td>\n",
       "      <td>9.3</td>\n",
       "      <td>libvpx in libwebm in mediaserver in Android 4....</td>\n",
       "      <td>2016-06-14</td>\n",
       "      <td>DoS Exec Code Mem. Corr.</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>351</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2016-2461</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2016-2461/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>High</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016-05-09</td>\n",
       "      <td>7.6</td>\n",
       "      <td>OpenSSLCipher.java in Conscrypt in Android 6.x...</td>\n",
       "      <td>2016-05-10</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>352</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2016-2458</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2016-2458/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016-05-09</td>\n",
       "      <td>4.3</td>\n",
       "      <td>The compose functionality in AOSP Mail in Andr...</td>\n",
       "      <td>2016-05-10</td>\n",
       "      <td>+Info</td>\n",
       "      <td>https://android.googlesource.com/platform/pack...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>353</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2016-2452</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2016-2452/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016-05-09</td>\n",
       "      <td>9.3</td>\n",
       "      <td>codecs/amrnb/dec/SoftAMR.cpp in libstagefright...</td>\n",
       "      <td>2016-05-10</td>\n",
       "      <td>+Priv</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>354</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2016-2452</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2016-2452/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016-05-09</td>\n",
       "      <td>9.3</td>\n",
       "      <td>codecs/amrnb/dec/SoftAMR.cpp in libstagefright...</td>\n",
       "      <td>2016-05-10</td>\n",
       "      <td>+Priv</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>355</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2016-2420</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2016-2420/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016-04-17</td>\n",
       "      <td>9.3</td>\n",
       "      <td>rootdir/init.rc in Android 4.x before 4.4.4 do...</td>\n",
       "      <td>2016-04-22</td>\n",
       "      <td>+Priv</td>\n",
       "      <td>https://android.googlesource.com/platform/syst...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>356</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2016-2416</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2016-2416/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016-04-17</td>\n",
       "      <td>10</td>\n",
       "      <td>libs/gui/BufferQueueConsumer.cpp in mediaserve...</td>\n",
       "      <td>2016-04-25</td>\n",
       "      <td>Bypass +Info</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>357</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2016-2414</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2016-2414/</td>\n",
       "      <td>CWE-20</td>\n",
       "      <td>Low</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016-04-17</td>\n",
       "      <td>4.9</td>\n",
       "      <td>The Minikin library in Android 5.0.x before 5....</td>\n",
       "      <td>2016-04-21</td>\n",
       "      <td>DoS Mem. Corr.</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>358</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2016-1621</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2016-1621/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016-03-12</td>\n",
       "      <td>10</td>\n",
       "      <td>libvpx in mediaserver in Android 4.x before 4....</td>\n",
       "      <td>2016-12-02</td>\n",
       "      <td>DoS Exec Code Overflow Mem. Corr.</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>359</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2016-1621</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2016-1621/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016-03-12</td>\n",
       "      <td>10</td>\n",
       "      <td>libvpx in mediaserver in Android 4.x before 4....</td>\n",
       "      <td>2016-12-02</td>\n",
       "      <td>DoS Exec Code Overflow Mem. Corr.</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>360</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2016-0847</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2016-0847/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016-04-17</td>\n",
       "      <td>7.2</td>\n",
       "      <td>The Telecom Component in Android 5.0.x before ...</td>\n",
       "      <td>2016-04-21</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/pack...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>361</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2016-0838</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2016-0838/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016-04-17</td>\n",
       "      <td>10</td>\n",
       "      <td>Sonivox in mediaserver in Android 4.x before 4...</td>\n",
       "      <td>2016-04-20</td>\n",
       "      <td>DoS Exec Code Overflow Mem. Corr.</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>362</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2016-0835</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2016-0835/</td>\n",
       "      <td>CWE-119</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016-04-17</td>\n",
       "      <td>10</td>\n",
       "      <td>decoder/impeg2d_dec_hdr.c in mediaserver in An...</td>\n",
       "      <td>2016-04-20</td>\n",
       "      <td>DoS Exec Code Overflow Mem. Corr.</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>363</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2016-0826</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2016-0826/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016-03-12</td>\n",
       "      <td>9.3</td>\n",
       "      <td>libcameraservice in mediaserver in Android 4.x...</td>\n",
       "      <td>2016-11-28</td>\n",
       "      <td>+Priv</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>364</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2016-0818</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2016-0818/</td>\n",
       "      <td>CWE-345</td>\n",
       "      <td>Medium</td>\n",
       "      <td>None</td>\n",
       "      <td>Partial</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016-03-12</td>\n",
       "      <td>4.3</td>\n",
       "      <td>The caching functionality in the TrustManagerI...</td>\n",
       "      <td>2016-11-28</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>365</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2017-0551</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-0551/</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Medium</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2017-04-07</td>\n",
       "      <td>7.1</td>\n",
       "      <td>A remote denial of service vulnerability in li...</td>\n",
       "      <td>2019-10-02</td>\n",
       "      <td>DoS</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>366</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2017-0402</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2017-0402/</td>\n",
       "      <td>CWE-200</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2017-01-12</td>\n",
       "      <td>4.3</td>\n",
       "      <td>An information disclosure vulnerability in lvm...</td>\n",
       "      <td>2017-01-17</td>\n",
       "      <td>+Info</td>\n",
       "      <td>https://android.googlesource.com/platform/hard...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>367</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9503</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9503/</td>\n",
       "      <td>CWE-125</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>7.8</td>\n",
       "      <td>In rfc_process_mx_message of rfc_ts_frames.cc,...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/syst...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>368</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9503</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9503/</td>\n",
       "      <td>CWE-125</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>7.8</td>\n",
       "      <td>In rfc_process_mx_message of rfc_ts_frames.cc,...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/syst...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>369</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9503</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9503/</td>\n",
       "      <td>CWE-125</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>7.8</td>\n",
       "      <td>In rfc_process_mx_message of rfc_ts_frames.cc,...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/syst...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>370</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9503</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9503/</td>\n",
       "      <td>CWE-125</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>7.8</td>\n",
       "      <td>In rfc_process_mx_message of rfc_ts_frames.cc,...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/syst...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>371</th>\n",
       "      <td>None</td>\n",
       "      <td>Local Network</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9502</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9502/</td>\n",
       "      <td>CWE-125</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>6.1</td>\n",
       "      <td>In rfc_process_mx_message of rfc_ts_frames.cc,...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/syst...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>372</th>\n",
       "      <td>None</td>\n",
       "      <td>Local Network</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9502</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9502/</td>\n",
       "      <td>CWE-125</td>\n",
       "      <td>Low</td>\n",
       "      <td>Complete</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>6.1</td>\n",
       "      <td>In rfc_process_mx_message of rfc_ts_frames.cc,...</td>\n",
       "      <td>2018-11-20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/syst...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>373</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9493</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9493/</td>\n",
       "      <td>CWE-89</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>2.1</td>\n",
       "      <td>In the content provider of the download manage...</td>\n",
       "      <td>2018-11-21</td>\n",
       "      <td>Sql</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>374</th>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2018-9493</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9493/</td>\n",
       "      <td>CWE-89</td>\n",
       "      <td>Low</td>\n",
       "      <td>Partial</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>2.1</td>\n",
       "      <td>In the content provider of the download manage...</td>\n",
       "      <td>2018-11-21</td>\n",
       "      <td>Sql</td>\n",
       "      <td>https://android.googlesource.com/platform/pack...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>375</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Complete</td>\n",
       "      <td>CVE-2018-9490</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9490/</td>\n",
       "      <td>CWE-704</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Complete</td>\n",
       "      <td>Complete</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>9.3</td>\n",
       "      <td>In CollectValuesOrEntriesImpl of elements.cc, ...</td>\n",
       "      <td>2018-12-28</td>\n",
       "      <td>Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/exte...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>376</th>\n",
       "      <td>None</td>\n",
       "      <td>Remote</td>\n",
       "      <td>Not required</td>\n",
       "      <td>Partial</td>\n",
       "      <td>CVE-2018-9452</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2018-9452/</td>\n",
       "      <td>CWE-20</td>\n",
       "      <td>Medium</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2018-10-02</td>\n",
       "      <td>4.3</td>\n",
       "      <td>In getOffsetForHorizontal of Layout.java, ther...</td>\n",
       "      <td>2018-12-28</td>\n",
       "      <td>DoS Exec Code</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>377 rows × 17 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    Access Gained  Attack Origin Authentication Required Availability  \\\n",
       "0            None          Local            Not required         None   \n",
       "1           Admin          Local            Not required     Complete   \n",
       "2            None         Remote            Not required      Partial   \n",
       "3            None          Local            Not required     Complete   \n",
       "4            None         Remote            Not required         None   \n",
       "..            ...            ...                     ...          ...   \n",
       "372          None  Local Network            Not required         None   \n",
       "373          None          Local            Not required         None   \n",
       "374          None          Local            Not required         None   \n",
       "375          None         Remote            Not required     Complete   \n",
       "376          None         Remote            Not required      Partial   \n",
       "\n",
       "            CVE ID                                       CVE Page   CWE ID  \\\n",
       "0    CVE-2014-8610  https://www.cvedetails.com/cve/CVE-2014-8610/  CWE-264   \n",
       "1    CVE-2014-8609  https://www.cvedetails.com/cve/CVE-2014-8609/  CWE-264   \n",
       "2    CVE-2014-8507  https://www.cvedetails.com/cve/CVE-2014-8507/   CWE-89   \n",
       "3    CVE-2014-7911  https://www.cvedetails.com/cve/CVE-2014-7911/  CWE-264   \n",
       "4    CVE-2013-7372  https://www.cvedetails.com/cve/CVE-2013-7372/  CWE-310   \n",
       "..             ...                                            ...      ...   \n",
       "372  CVE-2018-9502  https://www.cvedetails.com/cve/CVE-2018-9502/  CWE-125   \n",
       "373  CVE-2018-9493  https://www.cvedetails.com/cve/CVE-2018-9493/   CWE-89   \n",
       "374  CVE-2018-9493  https://www.cvedetails.com/cve/CVE-2018-9493/   CWE-89   \n",
       "375  CVE-2018-9490  https://www.cvedetails.com/cve/CVE-2018-9490/  CWE-704   \n",
       "376  CVE-2018-9452  https://www.cvedetails.com/cve/CVE-2018-9452/   CWE-20   \n",
       "\n",
       "    Complexity Confidentiality Integrity Known Exploits Publish Date Score  \\\n",
       "0       Medium         Partial   Partial            NaN   2014-12-15   3.3   \n",
       "1          Low        Complete  Complete            NaN   2014-12-15   7.2   \n",
       "2          Low         Partial   Partial            NaN   2014-12-15   7.5   \n",
       "3          Low        Complete  Complete            NaN   2014-12-15   7.2   \n",
       "4          Low            None   Partial            NaN   2014-04-29     5   \n",
       "..         ...             ...       ...            ...          ...   ...   \n",
       "372        Low        Complete      None            NaN   2018-10-02   6.1   \n",
       "373        Low         Partial      None            NaN   2018-10-02   2.1   \n",
       "374        Low         Partial      None            NaN   2018-10-02   2.1   \n",
       "375     Medium        Complete  Complete            NaN   2018-10-02   9.3   \n",
       "376     Medium            None      None            NaN   2018-10-02   4.3   \n",
       "\n",
       "                                              Summmary Update Date  \\\n",
       "0    AndroidManifest.xml in Android before 5.0.0 do...  2014-12-16   \n",
       "1    The addAccount method in src/com/android/setti...  2014-12-16   \n",
       "2    Multiple SQL injection vulnerabilities in the ...  2015-08-06   \n",
       "3    luni/src/main/java/java/io/ObjectInputStream.j...  2014-12-16   \n",
       "4    The engineNextBytes function in classlib/modul...  2014-04-30   \n",
       "..                                                 ...         ...   \n",
       "372  In rfc_process_mx_message of rfc_ts_frames.cc,...  2018-11-20   \n",
       "373  In the content provider of the download manage...  2018-11-21   \n",
       "374  In the content provider of the download manage...  2018-11-21   \n",
       "375  In CollectValuesOrEntriesImpl of elements.cc, ...  2018-12-28   \n",
       "376  In getOffsetForHorizontal of Layout.java, ther...  2018-12-28   \n",
       "\n",
       "    Vulnerability Classification  \\\n",
       "0                            NaN   \n",
       "1                            NaN   \n",
       "2                 Exec Code Sql    \n",
       "3                     Exec Code    \n",
       "4                            NaN   \n",
       "..                           ...   \n",
       "372                          NaN   \n",
       "373                         Sql    \n",
       "374                         Sql    \n",
       "375                   Exec Code    \n",
       "376               DoS Exec Code    \n",
       "\n",
       "                                              codeLink  \n",
       "0    https://android.googlesource.com/platform/pack...  \n",
       "1    https://android.googlesource.com/platform/pack...  \n",
       "2    https://android.googlesource.com/platform/fram...  \n",
       "3    https://android.googlesource.com/platform/libc...  \n",
       "4    https://android.googlesource.com/platform/libc...  \n",
       "..                                                 ...  \n",
       "372  https://android.googlesource.com/platform/syst...  \n",
       "373  https://android.googlesource.com/platform/fram...  \n",
       "374  https://android.googlesource.com/platform/pack...  \n",
       "375  https://android.googlesource.com/platform/exte...  \n",
       "376  https://android.googlesource.com/platform/fram...  \n",
       "\n",
       "[377 rows x 17 columns]"
      ]
     },
     "execution_count": 136,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "android.googlesource.com/platform/frameworks/base/+/a5e904e7eb3aaec532de83ca52e24af18e0496b4\n",
      "android.googlesource.com/platform/frameworks/opt/telephony/+/b48581401259439dc5ef6dcf8b0f303e4cbefbe9\n",
      "android.googlesource.com/platform/packages/apps/Stk/+/1d8e00160c07ae308e5b460214eb2a425b93ccf7\n",
      "android.googlesource.com/platform/packages/services/Telephony/+/fcb1d13c320dd1a6350bc7af3166929b4d54a456\n"
     ]
    }
   ],
   "source": [
    "string = \"https://android.googlesource.com/platform/frameworks/base/+/a5e904e7eb3aaec532de83ca52e24af18e0496b4https://android.googlesource.com/platform/frameworks/opt/telephony/+/b48581401259439dc5ef6dcf8b0f303e4cbefbe9https://android.googlesource.com/platform/packages/apps/Stk/+/1d8e00160c07ae308e5b460214eb2a425b93ccf7https://android.googlesource.com/platform/packages/services/Telephony/+/fcb1d13c320dd1a6350bc7af3166929b4d54a456\"\n",
    "pos = filter(None,string.split(\"https://\"))\n",
    "for s in pos:\n",
    "    print(s)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [],
   "source": [
    "pageURLs = \"https://android.googlesource.com/platform/packages/services/Telephony/+/fcb1d13c320dd1a6350bc7af3166929b4d54a456\"\n",
    "URLs = filter(None,pageURLs.split(\"https://\"))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "https://android.googlesource.com/platform/packages/services/Telephony/+/fcb1d13c320dd1a6350bc7af3166929b4d54a456%5E%21/\n"
     ]
    }
   ],
   "source": [
    "for URL in URLs:\n",
    "    URL = 'https://'+ URL\n",
    "    codeSoup=BeautifulSoup(urlopen(Request(URL,\n",
    "                          headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                          'html.parser')\n",
    "    #meta data div\n",
    "    codeDiv = codeSoup.find('div', class_='u-monospace Metadata')\n",
    "    for span in codeDiv.findAll('span'):\n",
    "        a = span.find('a')\n",
    "        if span.get_text() == \"[diff]\":\n",
    "            print(\"https://android.googlesource.com\"+a['href'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 193,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "https://android.googlesource.com/platform/frameworks/av/+/5403587a74aee2fb57076528c3927851531c8afb/services/camera/libcameraservice/CameraService.cpp\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c9ab2b0bb05a7e19fb057e79b36e232809d70122/services/camera/libcameraservice/CameraService.cpp\n",
      "https://android.googlesource.com/platform/frameworks/av/+/5403587a74aee2fb57076528c3927851531c8afb/services/camera/libcameraservice/CameraService.h\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c9ab2b0bb05a7e19fb057e79b36e232809d70122/services/camera/libcameraservice/CameraService.h\n",
      "https://android.googlesource.com/platform/frameworks/av/+/5403587a74aee2fb57076528c3927851531c8afb/services/camera/libcameraservice/api1/Camera2Client.cpp\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c9ab2b0bb05a7e19fb057e79b36e232809d70122/services/camera/libcameraservice/api1/Camera2Client.cpp\n",
      "https://android.googlesource.com/platform/frameworks/av/+/5403587a74aee2fb57076528c3927851531c8afb/services/camera/libcameraservice/api1/Camera2Client.h\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c9ab2b0bb05a7e19fb057e79b36e232809d70122/services/camera/libcameraservice/api1/Camera2Client.h\n",
      "https://android.googlesource.com/platform/frameworks/av/+/5403587a74aee2fb57076528c3927851531c8afb/services/camera/libcameraservice/api1/CameraClient.cpp\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c9ab2b0bb05a7e19fb057e79b36e232809d70122/services/camera/libcameraservice/api1/CameraClient.cpp\n",
      "https://android.googlesource.com/platform/frameworks/av/+/5403587a74aee2fb57076528c3927851531c8afb/services/camera/libcameraservice/api1/CameraClient.h\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c9ab2b0bb05a7e19fb057e79b36e232809d70122/services/camera/libcameraservice/api1/CameraClient.h\n",
      "https://android.googlesource.com/platform/frameworks/av/+/5403587a74aee2fb57076528c3927851531c8afb/services/camera/libcameraservice/api2/CameraDeviceClient.cpp\n",
      "https://android.googlesource.com/platform/frameworks/av/+/c9ab2b0bb05a7e19fb057e79b36e232809d70122/services/camera/libcameraservice/api2/CameraDeviceClient.cpp\n",
      "https://android.googlesource.com/platform/frameworks/av/+/5403587a74aee2fb57076528c3927851531c8afb/services/camera/libcameraservice/api2/CameraDeviceClient.h\n"
     ]
    },
    {
     "ename": "HTTPError",
     "evalue": "HTTP Error 429: Too Many Requests",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mHTTPError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-193-771baccb8ddd>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdiff_to_file\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"https://android.googlesource.com/platform/frameworks/av/+/c9ab2b0bb05a7e19fb057e79b36e232809d70122%5E%21/\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"./\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;32m<ipython-input-192-f2c14a37158f>\u001b[0m in \u001b[0;36mdiff_to_file\u001b[0;34m(diffLinks, path)\u001b[0m\n\u001b[1;32m     21\u001b[0m                 \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfileLink\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     22\u001b[0m                 fileSoup=BeautifulSoup(urlopen(Request(fileLink,\n\u001b[0;32m---> 23\u001b[0;31m                           headers={'User-Agent': 'Mozilla/5.0'})).read(),\n\u001b[0m\u001b[1;32m     24\u001b[0m                           'html.parser')\n\u001b[1;32m     25\u001b[0m                 \u001b[0mfileContents\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfileSoup\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfind\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'table'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mclass_\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'FileContents'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py\u001b[0m in \u001b[0;36murlopen\u001b[0;34m(url, data, timeout, cafile, capath, cadefault, context)\u001b[0m\n\u001b[1;32m    220\u001b[0m     \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    221\u001b[0m         \u001b[0mopener\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_opener\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 222\u001b[0;31m     \u001b[0;32mreturn\u001b[0m \u001b[0mopener\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0murl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    223\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    224\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0minstall_opener\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mopener\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py\u001b[0m in \u001b[0;36mopen\u001b[0;34m(self, fullurl, data, timeout)\u001b[0m\n\u001b[1;32m    529\u001b[0m         \u001b[0;32mfor\u001b[0m \u001b[0mprocessor\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprocess_response\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mprotocol\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    530\u001b[0m             \u001b[0mmeth\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mprocessor\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmeth_name\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 531\u001b[0;31m             \u001b[0mresponse\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmeth\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mreq\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mresponse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    532\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    533\u001b[0m         \u001b[0;32mreturn\u001b[0m \u001b[0mresponse\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py\u001b[0m in \u001b[0;36mhttp_response\u001b[0;34m(self, request, response)\u001b[0m\n\u001b[1;32m    639\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;36m200\u001b[0m \u001b[0;34m<=\u001b[0m \u001b[0mcode\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0;36m300\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    640\u001b[0m             response = self.parent.error(\n\u001b[0;32m--> 641\u001b[0;31m                 'http', request, response, code, msg, hdrs)\n\u001b[0m\u001b[1;32m    642\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    643\u001b[0m         \u001b[0;32mreturn\u001b[0m \u001b[0mresponse\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py\u001b[0m in \u001b[0;36merror\u001b[0;34m(self, proto, *args)\u001b[0m\n\u001b[1;32m    567\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mhttp_err\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    568\u001b[0m             \u001b[0margs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mdict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'default'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'http_error_default'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0morig_args\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 569\u001b[0;31m             \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_call_chain\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    570\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    571\u001b[0m \u001b[0;31m# XXX probably also want an abstract factory that knows when it makes\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py\u001b[0m in \u001b[0;36m_call_chain\u001b[0;34m(self, chain, kind, meth_name, *args)\u001b[0m\n\u001b[1;32m    501\u001b[0m         \u001b[0;32mfor\u001b[0m \u001b[0mhandler\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mhandlers\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    502\u001b[0m             \u001b[0mfunc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mhandler\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmeth_name\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 503\u001b[0;31m             \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    504\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0mresult\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    505\u001b[0m                 \u001b[0;32mreturn\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py\u001b[0m in \u001b[0;36mhttp_error_default\u001b[0;34m(self, req, fp, code, msg, hdrs)\u001b[0m\n\u001b[1;32m    647\u001b[0m \u001b[0;32mclass\u001b[0m \u001b[0mHTTPDefaultErrorHandler\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mBaseHandler\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    648\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0mhttp_error_default\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreq\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfp\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmsg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mhdrs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 649\u001b[0;31m         \u001b[0;32mraise\u001b[0m \u001b[0mHTTPError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mreq\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfull_url\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmsg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mhdrs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfp\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    650\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    651\u001b[0m \u001b[0;32mclass\u001b[0m \u001b[0mHTTPRedirectHandler\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mBaseHandler\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mHTTPError\u001b[0m: HTTP Error 429: Too Many Requests"
     ]
    }
   ],
   "source": [
    "diff_to_file(\"https://android.googlesource.com/platform/frameworks/av/+/c9ab2b0bb05a7e19fb057e79b36e232809d70122%5E%21/\",\"./\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 195,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'https://android.googlesource.com/platform/external/libavc/+/494561291a503840f385fbcd11d9bc5f4dc502b8%5E%21/'"
      ]
     },
     "execution_count": 195,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "commit_to_diff(\"https://android.googlesource.com/platform/external/libavc/+/494561291a503840f385fbcd11d9bc5f4dc502b8\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 227,
   "metadata": {},
   "outputs": [],
   "source": [
    "from urllib.error import HTTPError\n",
    "import sys, traceback"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 230,
   "metadata": {},
   "outputs": [],
   "source": [
    "def diff_to_file(diffLinks,path):\n",
    "    try:\n",
    "        before = []\n",
    "        projectSoup=BeautifulSoup(urlopen(Request(diffLinks,\n",
    "                              headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                              'html.parser')\n",
    "        # more than one sometimes\n",
    "        diffDivs = projectSoup.findAll('pre', class_='u-pre u-monospace Diff')\n",
    "        for diffDiv in diffDivs:\n",
    "            files = diffDiv.findAll('a',href=True)\n",
    "            first = True\n",
    "            for file in files:\n",
    "                fileLink = \"https://android.googlesource.com\"+file['href']\n",
    "                before.append(fileLink)\n",
    "                # the first file?\n",
    "                first_char = file.get_text()[0]\n",
    "                print(first_char)\n",
    "                if first_char == \"a\":\n",
    "                    text = \"\"\n",
    "                    fileSoup=BeautifulSoup(urlopen(Request(fileLink,\n",
    "                              headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                              'html.parser')\n",
    "                    fileContents = fileSoup.find('table', class_='FileContents')\n",
    "                    if not fileContents:\n",
    "                        continue\n",
    "                    fileLines = fileContents.findAll('td', class_='FileContents-lineContents')\n",
    "                    pos = fileLink.rfind(\"/\")\n",
    "                    name = fileLink[pos:]\n",
    "                    fileType = name.split('.')[1] if (len(name.split('.'))>1) else name\n",
    "                    path_now = \"./data/\" + fileType + \"/\" +path\n",
    "                    filePathName = path_now + \"/before\" +name\n",
    "                    for line in fileLines:\n",
    "                        spans = line.findAll('span')\n",
    "                        for span in spans:\n",
    "                            text += span.get_text(strip=False)\n",
    "                        text +=\"\\n\"\n",
    "                    if not os.path.exists(path_now +\"/before\"):\n",
    "                        os.makedirs(path_now +\"/before\")\n",
    "                    with open(filePathName,\"w+\") as f:\n",
    "                        f.write(text)\n",
    "                    first = False\n",
    "                elif first_char == \"b\":\n",
    "                    text = \"\"\n",
    "                    fileSoup=BeautifulSoup(urlopen(Request(fileLink,\n",
    "                              headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                              'html.parser')\n",
    "                    fileContents = fileSoup.find('table', class_='FileContents')\n",
    "                    if not fileContents:\n",
    "                        continue\n",
    "                    fileLines = fileContents.findAll('td', class_='FileContents-lineContents')\n",
    "                    pos = fileLink.rfind(\"/\")\n",
    "                    name = fileLink[pos:]\n",
    "                    fileType = name.split('.')[1] if (len(name.split('.')) > 1) else name\n",
    "                    path_now = \"./data/\" + fileType + \"/\" + path\n",
    "                    filePathName = path_now + \"/after\" + name\n",
    "                    for line in fileLines:\n",
    "                        spans = line.findAll('span')\n",
    "                        for span in spans:\n",
    "                            text += span.get_text(strip=False)\n",
    "                        text +=\"\\n\"\n",
    "                    if not os.path.exists(path_now +\"/after\"):\n",
    "                        os.makedirs(path_now +\"/after\")\n",
    "                    with open(filePathName,\"w+\") as f:\n",
    "                        f.write(text)\n",
    "                    first = True\n",
    "        return before\n",
    "    except HTTPError as e:\n",
    "        if e.code == 429:\n",
    "            time.sleep(10)\n",
    "            return diff_to_file(diffLink,path)\n",
    "        if e.code == 404:\n",
    "            print(\"\\n not found:\" + diffLink+ \"！\")\n",
    "            return 0\n",
    "        raise\n",
    "    except Exception as e:\n",
    "        traceback.print_exc(file=sys.stdout)\n",
    "        print(\"\\n skip diff_to_file:\" + diffLink+ \"！\")\n",
    "        print(e)\n",
    "        return 0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 231,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "a\n",
      "a\n",
      "b\n",
      "a\n",
      "a\n",
      "a\n",
      "a\n",
      "a\n",
      "a\n",
      "a\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "a\n",
      "b\n",
      "a\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "a\n",
      "a\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n",
      "a\n",
      "b\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "['https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/Android.mk',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/BUG-BOUNTY.md',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/CHANGELOG.md',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/CHANGELOG.md',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/NOTICE',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/README.android',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/README.md',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/README.md',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/android/main/java/com/squareup/okhttp/ConfigAwareConnectionPool.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/android/main/java/com/squareup/okhttp/HttpHandler.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/android/main/java/com/squareup/okhttp/HttpsHandler.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/android/main/java/com/squareup/okhttp/internal/Platform.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/android/main/java/com/squareup/okhttp/internal/Version.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/android/test/java/com/squareup/okhttp/ConfigAwareConnectionPoolTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/android/test/java/com/squareup/okhttp/internal/PlatformTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/benchmarks/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/benchmarks/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/benchmarks/src/main/java/com/squareup/okhttp/benchmarks/ApacheHttpClient.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/benchmarks/src/main/java/com/squareup/okhttp/benchmarks/ApacheHttpClient.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/benchmarks/src/main/java/com/squareup/okhttp/benchmarks/Benchmark.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/benchmarks/src/main/java/com/squareup/okhttp/benchmarks/Benchmark.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/benchmarks/src/main/java/com/squareup/okhttp/benchmarks/HttpClient.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/benchmarks/src/main/java/com/squareup/okhttp/benchmarks/HttpClient.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/benchmarks/src/main/java/com/squareup/okhttp/benchmarks/NettyHttpClient.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/benchmarks/src/main/java/com/squareup/okhttp/benchmarks/NettyHttpClient.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/benchmarks/src/main/java/com/squareup/okhttp/benchmarks/OkHttp.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/benchmarks/src/main/java/com/squareup/okhttp/benchmarks/OkHttp.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/benchmarks/src/main/java/com/squareup/okhttp/benchmarks/OkHttpAsync.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/benchmarks/src/main/java/com/squareup/okhttp/benchmarks/OkHttpAsync.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/benchmarks/src/main/java/com/squareup/okhttp/benchmarks/SynchronousHttpClient.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/benchmarks/src/main/java/com/squareup/okhttp/benchmarks/SynchronousHttpClient.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/benchmarks/src/main/java/com/squareup/okhttp/benchmarks/UrlConnection.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/benchmarks/src/main/java/com/squareup/okhttp/benchmarks/UrlConnection.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/jarjar-rules.txt',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/mockwebserver/README.md',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/mockwebserver/README.md',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/mockwebserver/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/mockwebserver/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/mockwebserver/src/main/java/com/squareup/okhttp/internal/spdy/SpdyServer.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/mockwebserver/src/main/java/com/squareup/okhttp/internal/framed/FramedServer.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/mockwebserver/src/main/java/com/squareup/okhttp/mockwebserver/MockResponse.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/mockwebserver/src/main/java/com/squareup/okhttp/mockwebserver/MockResponse.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/mockwebserver/src/main/java/com/squareup/okhttp/mockwebserver/MockWebServer.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/mockwebserver/src/main/java/com/squareup/okhttp/mockwebserver/MockWebServer.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/mockwebserver/src/main/java/com/squareup/okhttp/mockwebserver/SocketPolicy.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/mockwebserver/src/main/java/com/squareup/okhttp/mockwebserver/SocketPolicy.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/mockwebserver/src/main/java/com/squareup/okhttp/mockwebserver/rule/MockWebServerRule.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/mockwebserver/src/test/java/com/squareup/okhttp/mockwebserver/MockWebServerTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/mockwebserver/src/test/java/com/squareup/okhttp/mockwebserver/MockWebServerTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/mockwebserver/src/test/java/com/squareup/okhttp/mockwebserver/rule/MockWebServerRuleTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okcurl/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okcurl/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okcurl/src/main/java/com/squareup/okhttp/curl/Main.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okcurl/src/main/java/com/squareup/okhttp/curl/Main.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okcurl/src/test/java/com/squareup/okhttp/curl/MainTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okcurl/src/test/java/com/squareup/okhttp/curl/MainTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-android-support/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-android-support/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-android-support/src/main/java/com/squareup/okhttp/internal/huc/JavaApiConverter.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-android-support/src/main/java/com/squareup/okhttp/internal/huc/JavaApiConverter.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-android-support/src/test/java/com/squareup/okhttp/android/HttpResponseCacheTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-android-support/src/test/java/com/squareup/okhttp/android/HttpResponseCacheTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-android-support/src/test/java/com/squareup/okhttp/internal/huc/CacheAdapterTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-android-support/src/test/java/com/squareup/okhttp/internal/huc/CacheAdapterTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-android-support/src/test/java/com/squareup/okhttp/internal/huc/JavaApiConverterTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-android-support/src/test/java/com/squareup/okhttp/internal/huc/JavaApiConverterTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-android-support/src/test/java/com/squareup/okhttp/internal/huc/ResponseCacheTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-android-support/src/test/java/com/squareup/okhttp/internal/huc/ResponseCacheTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-apache/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-apache/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-apache/src/main/java/com/squareup/okhttp/apache/OkApacheClient.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-apache/src/main/java/com/squareup/okhttp/apache/OkApacheClient.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-apache/src/test/java/com/squareup/okhttp/apache/OkApacheClientTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-apache/src/test/java/com/squareup/okhttp/apache/OkApacheClientTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-hpacktests/src/test/java/com/squareup/okhttp/internal/spdy/HpackDecodeInteropTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-hpacktests/src/test/java/com/squareup/okhttp/internal/spdy/HpackDecodeInteropTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-hpacktests/src/test/java/com/squareup/okhttp/internal/spdy/HpackDecodeTestBase.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-hpacktests/src/test/java/com/squareup/okhttp/internal/spdy/HpackDecodeTestBase.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-hpacktests/src/test/java/com/squareup/okhttp/internal/spdy/HpackRoundTripTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-hpacktests/src/test/java/com/squareup/okhttp/internal/spdy/HpackRoundTripTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-hpacktests/src/test/java/com/squareup/okhttp/internal/spdy/hpackjson/Case.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-hpacktests/src/test/java/com/squareup/okhttp/internal/spdy/hpackjson/Case.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-hpacktests/src/test/java/com/squareup/okhttp/internal/spdy/hpackjson/HpackJsonUtil.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-hpacktests/src/test/java/com/squareup/okhttp/internal/spdy/hpackjson/HpackJsonUtil.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-hpacktests/src/test/java/com/squareup/okhttp/internal/spdy/hpackjson/Story.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-hpacktests/src/test/java/com/squareup/okhttp/internal/spdy/hpackjson/Story.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-testing-support/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-testing-support/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/io/InMemoryFileSystem.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-testing-support/src/main/java/com/squareup/okhttp/internal/io/InMemoryFileSystem.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/RecordingHostnameVerifier.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-testing-support/src/main/java/com/squareup/okhttp/testing/RecordingHostnameVerifier.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/CacheTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/CacheTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/CallTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/CallTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/CertificatePinnerTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/CertificatePinnerTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/ConnectionPoolTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/ConnectionPoolTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/DelegatingSSLSocketFactory.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/DelegatingSSLSocketFactory.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/DelegatingServerSocketFactory.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/DelegatingServerSocketFactory.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/DelegatingSocketFactory.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/DelegatingSocketFactory.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/FallbackTestClientSocketFactory.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/FallbackTestClientSocketFactory.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/FormEncodingBuilderTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/FormEncodingBuilderTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/HttpUrlTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/HttpUrlTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/InterceptorTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/InterceptorTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/OkHttpClientTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/OkHttpClientTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/RecordingCallback.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/RecordingCallback.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/RequestTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/RequestTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/SocksProxyTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/SocksProxyTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/TestUtil.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/TestUtil.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/http/URLConnectionTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/URLConnectionTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/UrlComponentEncodingTester.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/UrlComponentEncodingTester.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/WebPlatformTestRun.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/WebPlatformUrlTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/WebPlatformUrlTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/WebPlatformUrlTestData.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/WebPlatformUrlTestData.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/ConnectionSpecSelectorTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/ConnectionSpecSelectorTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/spdy/BaseTestHandler.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/framed/BaseTestHandler.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/spdy/HpackTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/framed/HpackTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/spdy/Http2ConnectionTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/framed/Http2ConnectionTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/spdy/Http2FrameLoggerTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/framed/Http2FrameLoggerTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/spdy/Http2Test.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/framed/Http2Test.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/spdy/HuffmanTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/framed/HuffmanTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/spdy/MockSpdyPeer.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/framed/MockSpdyPeer.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/spdy/SettingsTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/framed/SettingsTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/spdy/Spdy3ConnectionTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/framed/Spdy3ConnectionTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/spdy/Spdy3Test.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/framed/Spdy3Test.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/http/CookiesTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/http/CookiesTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/http/DisconnectTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/http/DisconnectTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/http/HeadersTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/http/HeadersTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/http/HttpOverSpdyTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/http/HttpOverSpdyTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/http/RouteExceptionTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/http/RouteExceptionTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/http/ThreadInterruptTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/http/ThreadInterruptTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/tls/HostnameVerifierTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-tests/src/test/java/com/squareup/okhttp/internal/tls/HostnameVerifierTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/resources/web-platform-test-results-url-chrome-42.0.json',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/resources/web-platform-test-results-url-firefox-37.0.json',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-tests/src/test/resources/web-platform-test-results-url-safari-7.1.json',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-urlconnection/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-urlconnection/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-urlconnection/src/main/java/com/squareup/okhttp/internal/huc/HttpURLConnectionImpl.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-urlconnection/src/main/java/com/squareup/okhttp/internal/huc/HttpURLConnectionImpl.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-urlconnection/src/main/java/com/squareup/okhttp/internal/huc/HttpsURLConnectionImpl.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-urlconnection/src/main/java/com/squareup/okhttp/internal/huc/HttpsURLConnectionImpl.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-urlconnection/src/test/java/com/squareup/okhttp/OkUrlFactoryTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-urlconnection/src/test/java/com/squareup/okhttp/OkUrlFactoryTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-urlconnection/src/test/java/com/squareup/okhttp/UrlConnectionCacheTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-urlconnection/src/test/java/com/squareup/okhttp/UrlConnectionCacheTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-ws-tests/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-ws-tests/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-ws-tests/src/test/java/com/squareup/okhttp/ws/AutobahnTester.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-ws-tests/src/test/java/com/squareup/okhttp/ws/AutobahnTester.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-ws-tests/src/test/java/com/squareup/okhttp/ws/WebSocketCallTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-ws-tests/src/test/java/com/squareup/okhttp/ws/WebSocketCallTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-ws-tests/src/test/java/com/squareup/okhttp/ws/WebSocketRecorder.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-ws-tests/src/test/java/com/squareup/okhttp/ws/WebSocketRecorder.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-ws/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-ws/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-ws/src/main/java/com/squareup/okhttp/internal/ws/RealWebSocket.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-ws/src/main/java/com/squareup/okhttp/internal/ws/RealWebSocket.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-ws/src/main/java/com/squareup/okhttp/ws/WebSocketCall.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-ws/src/main/java/com/squareup/okhttp/ws/WebSocketCall.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp-ws/src/main/java/com/squareup/okhttp/ws/WebSocketListener.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp-ws/src/main/java/com/squareup/okhttp/ws/WebSocketListener.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/Cache.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/Cache.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/Call.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/Call.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/CertificatePinner.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/CertificatePinner.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/Connection.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/Connection.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/ConnectionPool.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/ConnectionPool.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/FormEncodingBuilder.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/FormEncodingBuilder.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/Headers.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/Headers.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/HttpUrl.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/HttpUrl.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/OkHttpClient.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/OkHttpClient.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/Request.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/Request.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/ConnectionSpecSelector.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/ConnectionSpecSelector.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/DiskLruCache.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/DiskLruCache.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/Internal.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/Internal.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/Platform.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/Platform.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/Util.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/Util.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/spdy/ErrorCode.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/framed/ErrorCode.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/spdy/FrameReader.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/framed/FrameReader.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/spdy/FrameWriter.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/framed/FrameWriter.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/spdy/SpdyConnection.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/framed/FramedConnection.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/spdy/SpdyStream.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/framed/FramedStream.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/spdy/Header.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/framed/Header.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/spdy/HeadersMode.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/framed/HeadersMode.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/spdy/Hpack.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/framed/Hpack.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/spdy/Http2.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/framed/Http2.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/spdy/Huffman.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/framed/Huffman.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/spdy/IncomingStreamHandler.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/framed/IncomingStreamHandler.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/spdy/NameValueBlockReader.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/framed/NameValueBlockReader.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/spdy/Ping.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/framed/Ping.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/spdy/PushObserver.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/framed/PushObserver.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/spdy/Settings.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/framed/Settings.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/spdy/Spdy3.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/framed/Spdy3.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/spdy/Variant.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/framed/Variant.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/http/AuthenticatorAdapter.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/http/AuthenticatorAdapter.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/http/CacheStrategy.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/http/CacheStrategy.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/http/SpdyTransport.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/http/FramedTransport.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/http/HttpConnection.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/http/HttpConnection.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/http/HttpEngine.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/http/HttpEngine.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/http/RequestLine.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/http/RequestLine.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/http/RouteSelector.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okhttp/src/main/java/com/squareup/okhttp/internal/http/RouteSelector.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okhttp/src/main/java/com/squareup/okhttp/internal/http/SocketConnector.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okio/BUG-BOUNTY.md',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okio/CHANGELOG.md',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okio/CHANGELOG.md',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okio/README.android',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okio/README.md',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okio/README.md',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okio/benchmarks/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okio/benchmarks/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okio/okio/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okio/okio/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okio/okio/src/main/java/okio/Buffer.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okio/okio/src/main/java/okio/Buffer.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okio/okio/src/main/java/okio/BufferedSource.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okio/okio/src/main/java/okio/BufferedSource.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okio/okio/src/main/java/okio/ByteString.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okio/okio/src/main/java/okio/ByteString.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okio/okio/src/main/java/okio/DeflaterSink.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okio/okio/src/main/java/okio/DeflaterSink.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okio/okio/src/main/java/okio/Okio.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okio/okio/src/main/java/okio/Okio.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okio/okio/src/main/java/okio/RealBufferedSource.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okio/okio/src/main/java/okio/RealBufferedSource.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okio/okio/src/test/java/okio/BufferedSinkTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okio/okio/src/test/java/okio/BufferedSinkTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okio/okio/src/test/java/okio/BufferedSourceTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okio/okio/src/test/java/okio/BufferedSourceTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okio/okio/src/test/java/okio/ByteStringTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okio/okio/src/test/java/okio/ByteStringTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okio/okio/src/test/java/okio/OkioTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okio/okio/src/test/java/okio/OkioTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okio/okio/src/test/java/okio/ReadUtf8LineTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okio/okio/src/test/java/okio/ReadUtf8LineTest.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/okio/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/okio/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/samples/crawler/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/samples/crawler/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/samples/crawler/src/main/java/com/squareup/okhttp/sample/Crawler.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/samples/crawler/src/main/java/com/squareup/okhttp/sample/Crawler.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/samples/guide/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/samples/guide/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/samples/guide/src/main/java/com/squareup/okhttp/recipes/LoggingInterceptors.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/samples/guide/src/main/java/com/squareup/okhttp/recipes/LoggingInterceptors.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/samples/guide/src/main/java/com/squareup/okhttp/recipes/WebSocketEcho.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/samples/guide/src/main/java/com/squareup/okhttp/recipes/WebSocketEcho.java',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/samples/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/samples/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/samples/simple-client/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/samples/simple-client/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/bad0a11146d43955d3f3b949aa277f0dd7cc3abb/samples/static-server/pom.xml',\n",
       " 'https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb/samples/static-server/pom.xml']"
      ]
     },
     "execution_count": 231,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "diff_to_file(\"https://android.googlesource.com/platform/external/okhttp/+/71b9f47b26fb57ac3e436a19519c6e3ec70e86eb%5E%21/\",\"001CVE-001\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "#coding=utf8\n",
    "import sys\n",
    "import string\n",
    "from urllib.request import Request, urlopen\n",
    "from urllib.error import HTTPError\n",
    "from bs4 import BeautifulSoup\n",
    "import time\n",
    "import datetime\n",
    "import ssl\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import traceback\n",
    "\n",
    "ssl._create_default_https_context = ssl._create_unverified_context\n",
    "\n",
    "# exceptions: 404 not found , 429 too many requests, others\n",
    "\n",
    "# commit page to diff page\n",
    "# return diff page link\n",
    "def commit_to_diff(codeLink):\n",
    "    try:\n",
    "        codeSoup=BeautifulSoup(urlopen(Request(codeLink,\n",
    "                              headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                              'html.parser')\n",
    "        #meta data div\n",
    "        codeDiv = codeSoup.find('div', class_='u-monospace Metadata')\n",
    "        for span in codeDiv.findAll('span'):\n",
    "            a = span.find('a')\n",
    "            if span.get_text() == \"[diff]\":\n",
    "                diffLinks = \"https://android.googlesource.com\"+a['href']\n",
    "        return diffLinks\n",
    "    except HTTPError as e:\n",
    "        if e.code == 429:\n",
    "            time.sleep(10)\n",
    "            return commit_to_diff(codeLink)\n",
    "        if e.code == 404:\n",
    "            print(\"\\n not found:\" + codeLink+ \"！\")\n",
    "            return \"\"\n",
    "        raise\n",
    "    except Exception as e:\n",
    "        traceback.print_exc(file=sys.stdout)\n",
    "        print(\"reason\", e)\n",
    "        print(\"\\n skip commit_to_diff:\"+codeLink + \"！\")\n",
    "        return \"\"\n",
    "\n",
    "#get whole project \"before\" and \"after\" the commit\n",
    "def diff_to_project(diffLink):\n",
    "    try:\n",
    "        projectSoup=BeautifulSoup(urlopen(Request(diffLink,\n",
    "                              headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                              'html.parser')\n",
    "        #meta data div\n",
    "        codeDiv = projectSoup.find('div', class_='u-monospace Metadata')\n",
    "        for th in codeDiv.findAll('th'):\n",
    "            #project before\n",
    "            if th.get_text() == \"tree\":\n",
    "                #get sibling\n",
    "                tree = th.next_sibling\n",
    "                treeA = tree.find('a')\n",
    "                treeLink = \"https://android.googlesource.com\"+treeA['href']\n",
    "            #project after\n",
    "            if th.get_text() == \"parent\":\n",
    "                #get sibling\n",
    "                parent = th.next_sibling\n",
    "                parentA = parent.find('a')\n",
    "                parentLink = \"https://android.googlesource.com\"+parentA['href']+\"/\"\n",
    "        return treeLink, parentLink\n",
    "    except HTTPError as e:\n",
    "        if e.code == 429:\n",
    "            time.sleep(10)\n",
    "            return diff_to_project(diffLink)\n",
    "        if e.code == 404:\n",
    "            print(\"\\n not found:\" + diffLink+ \"！\")\n",
    "            return \"\", \"\"\n",
    "        raise\n",
    "    except Exception as e:\n",
    "        traceback.print_exc(file=sys.stdout)\n",
    "        print(\"reason\", e)\n",
    "        print(\"\\n skip diff_to_project:\"+diffLink+ \"！\")\n",
    "        return \"\", \"\"\n",
    "\n",
    "# get whole file \"before\" and \"after\" the commit\n",
    "# more than one file sometimes\n",
    "# write two files\n",
    "\n",
    "\n",
    "def diff_to_file(diffLinks,path):\n",
    "    try:\n",
    "        before = []\n",
    "        projectSoup=BeautifulSoup(urlopen(Request(diffLinks,\n",
    "                              headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                              'html.parser')\n",
    "        # more than one sometimes\n",
    "        diffDivs = projectSoup.findAll('pre', class_='u-pre u-monospace Diff')\n",
    "        for diffDiv in diffDivs:\n",
    "            files = diffDiv.findAll('a',href=True)\n",
    "            for file in files:\n",
    "                fileLink = \"https://android.googlesource.com\"+file['href']\n",
    "                before.append(fileLink)\n",
    "                # the first file?\n",
    "                first_char = file.get_text()[0]\n",
    "                print(first_char)\n",
    "                if first_char == \"a\":\n",
    "                    text = \"\"\n",
    "                    fileSoup=BeautifulSoup(urlopen(Request(fileLink,\n",
    "                              headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                              'html.parser')\n",
    "                    fileContents = fileSoup.find('table', class_='FileContents')\n",
    "                    if not fileContents:\n",
    "                        continue\n",
    "                    fileLines = fileContents.findAll('td', class_='FileContents-lineContents')\n",
    "                    pos = fileLink.rfind(\"/\")\n",
    "                    name = fileLink[pos:]\n",
    "                    fileType = name.split('.')[1] if (len(name.split('.'))>1) else name\n",
    "                    path_now = \"./data_type/\" + fileType + \"/\" +path\n",
    "                    filePathName = path_now + \"/before\" +name\n",
    "                    for line in fileLines:\n",
    "                        spans = line.findAll('span')\n",
    "                        for span in spans:\n",
    "                            text += span.get_text(strip=False)\n",
    "                        text +=\"\\n\"\n",
    "                    if not os.path.exists(path_now +\"/before\"):\n",
    "                        os.makedirs(path_now +\"/before\")\n",
    "                    with open(filePathName,\"w+\") as f:\n",
    "                        f.write(text)\n",
    "                elif first_char == \"b\":\n",
    "                    text = \"\"\n",
    "                    fileSoup=BeautifulSoup(urlopen(Request(fileLink,\n",
    "                              headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                              'html.parser')\n",
    "                    fileContents = fileSoup.find('table', class_='FileContents')\n",
    "                    if not fileContents:\n",
    "                        continue\n",
    "                    fileLines = fileContents.findAll('td', class_='FileContents-lineContents')\n",
    "                    pos = fileLink.rfind(\"/\")\n",
    "                    name = fileLink[pos:]\n",
    "                    fileType = name.split('.')[1] if (len(name.split('.')) > 1) else name\n",
    "                    path_now = \"./data_type/\" + fileType + \"/\" + path\n",
    "                    filePathName = path_now + \"/after\" + name\n",
    "                    for line in fileLines:\n",
    "                        spans = line.findAll('span')\n",
    "                        for span in spans:\n",
    "                            text += span.get_text(strip=False)\n",
    "                        text +=\"\\n\"\n",
    "                    if not os.path.exists(path_now +\"/after\"):\n",
    "                        os.makedirs(path_now +\"/after\")\n",
    "                    with open(filePathName,\"w+\") as f:\n",
    "                        f.write(text)\n",
    "        return before\n",
    "    except HTTPError as e:\n",
    "        if e.code == 429:\n",
    "            time.sleep(10)\n",
    "            return diff_to_file(diffLink,path)\n",
    "        if e.code == 404:\n",
    "            print(\"\\n not found:\" + diffLink+ \"！\")\n",
    "            return \"\"\n",
    "        raise\n",
    "    except Exception as e:\n",
    "        traceback.print_exc(file=sys.stdout)\n",
    "        print(\"\\n skip diff_to_file:\" + diffLink+ \"！\")\n",
    "        print(e)\n",
    "        return \"\"\n",
    "\n",
    "# get commit message from diff page\n",
    "# return message\n",
    "\n",
    "\n",
    "def diff_to_commit_message(diffLinks):\n",
    "    try:\n",
    "        projectSoup=BeautifulSoup(urlopen(Request(diffLinks,\n",
    "                              headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                              'html.parser')\n",
    "        messageDiv = projectSoup.find('pre', class_='u-pre u-monospace MetadataMessage')\n",
    "        message = messageDiv.get_text()\n",
    "        return message\n",
    "    except HTTPError as e:\n",
    "        if e.code == 429:\n",
    "            time.sleep(10)\n",
    "            return diff_to_commit_message(diffLink)\n",
    "        if e.code == 404:\n",
    "            print(\"\\n not found:\" + diffLink+ \"！\")\n",
    "            return \"\"\n",
    "        raise\n",
    "    except Exception as e:\n",
    "        traceback.print_exc(file=sys.stdout)\n",
    "        print(\"reason\", e)\n",
    "        print(\"\\n skip diff_to_project:\"+diffLink+ \"！\")\n",
    "        return \"\"\n",
    "\n",
    "# get diff message from diff page\n",
    "# return message\n",
    "\n",
    "\n",
    "def diff_to_diff_message(diffLinks):\n",
    "    try:\n",
    "        projectSoup=BeautifulSoup(urlopen(Request(diffLinks,\n",
    "                              headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                              'html.parser')\n",
    "        # more than one sometimes\n",
    "        message = \"\"\n",
    "        diffDivs = projectSoup.findAll('pre', class_='u-pre u-monospace Diff')\n",
    "        for diffDiv in diffDivs:\n",
    "            message = message + diffDiv.get_text() +\"\\n\"\n",
    "        return message\n",
    "    except HTTPError as e:\n",
    "        if e.code == 429:\n",
    "            time.sleep(10)\n",
    "            return diff_to_diff_message(diffLink)\n",
    "        if e.code == 404:\n",
    "            print(\"\\n not found:\" + diffLink + \"！\")\n",
    "            return \"\"\n",
    "        raise\n",
    "    except Exception as e:\n",
    "        traceback.print_exc(file=sys.stdout)\n",
    "        print(\"reason\", e)\n",
    "        print(\"\\n skip diff_to_diff_message:\"+diffLink+ \"！\")\n",
    "        return \"\"\n",
    "\n",
    "# get diff unified message from diff page\n",
    "# return message\n",
    "\n",
    "def diff_to_diff_unified(diffLinks):\n",
    "    try:\n",
    "        projectSoup=BeautifulSoup(urlopen(Request(diffLinks,\n",
    "                              headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                              'html.parser')\n",
    "        # more than one sometimes\n",
    "        message = \"\"\n",
    "        diff_unified_divs = projectSoup.findAll('pre', class_='u-pre u-monospace Diff-unified')\n",
    "        for diff_unified_div in diff_unified_divs:\n",
    "            diff_unified_spans = diff_unified_div.findAll('span')\n",
    "            if not diff_unified_spans:\n",
    "                continue\n",
    "            for diff_unified_span in diff_unified_spans:\n",
    "                message = message + diff_unified_span.get_text() + \"\\n\"\n",
    "        return message\n",
    "    except HTTPError as e:\n",
    "        if e.code == 429:\n",
    "            time.sleep(10)\n",
    "            return diff_to_diff_unified(diffLink)\n",
    "        if e.code == 404:\n",
    "            print(\"\\n not found:\" + diffLink+ \"！\")\n",
    "            return \"\"\n",
    "        raise\n",
    "    except Exception as e:\n",
    "        traceback.print_exc(file=sys.stdout)\n",
    "        print(\"reason\", e)\n",
    "        print(\"\\n skip diff_to_diff_unified:\"+diffLink+ \"！\")\n",
    "        return \"\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "android_csv = pd.pandas.read_csv(\"onetest.csv\")\n",
    "android_csv[\"commit_message\"] = None\n",
    "android_csv[\"diff_message\"] = None\n",
    "android_csv[\"diff_unified\"] = None\n",
    "android_csv[\"project_before\"] = None\n",
    "android_csv[\"project_after\"] = None"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>Access Gained</th>\n",
       "      <th>Attack Origin</th>\n",
       "      <th>Authentication Required</th>\n",
       "      <th>Availability</th>\n",
       "      <th>CVE ID</th>\n",
       "      <th>CVE Page</th>\n",
       "      <th>CWE ID</th>\n",
       "      <th>Complexity</th>\n",
       "      <th>Confidentiality</th>\n",
       "      <th>...</th>\n",
       "      <th>Score</th>\n",
       "      <th>Summmary</th>\n",
       "      <th>Update Date</th>\n",
       "      <th>Vulnerability Classification</th>\n",
       "      <th>codeLink</th>\n",
       "      <th>commit_message</th>\n",
       "      <th>diff_message</th>\n",
       "      <th>diff_unified</th>\n",
       "      <th>project_before</th>\n",
       "      <th>project_after</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>31</td>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2014-8610</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2014-8610/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>...</td>\n",
       "      <td>3.3</td>\n",
       "      <td>AndroidManifest.xml in Android before 5.0.0 do...</td>\n",
       "      <td>2014-12-16</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "      <td>None</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1 rows × 23 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   Unnamed: 0 Access Gained Attack Origin Authentication Required  \\\n",
       "0          31          None         Local            Not required   \n",
       "\n",
       "  Availability         CVE ID                                       CVE Page  \\\n",
       "0         None  CVE-2014-8610  https://www.cvedetails.com/cve/CVE-2014-8610/   \n",
       "\n",
       "    CWE ID Complexity Confidentiality  ... Score  \\\n",
       "0  CWE-264     Medium         Partial  ...   3.3   \n",
       "\n",
       "                                            Summmary Update Date  \\\n",
       "0  AndroidManifest.xml in Android before 5.0.0 do...  2014-12-16   \n",
       "\n",
       "   Vulnerability Classification  \\\n",
       "0                           NaN   \n",
       "\n",
       "                                            codeLink commit_message  \\\n",
       "0  https://android.googlesource.com/platform/fram...           None   \n",
       "\n",
       "   diff_message diff_unified project_before project_after  \n",
       "0          None         None           None          None  \n",
       "\n",
       "[1 rows x 23 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "android_csv"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_source_file_link(url):\n",
    "    try:\n",
    "        projectAfterSoup=BeautifulSoup(urlopen(Request(url,\n",
    "                              headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                              'html.parser')\n",
    "        diffTree = projectAfterSoup.find('ul', class_='DiffTree')\n",
    "        diffFileLi = diffTree.findAll('li')\n",
    "        fileLinks=[]\n",
    "        fileNames=[]\n",
    "        for li in diffFileLi:\n",
    "            fileA = li.find('a')\n",
    "            fileLink = \"https://android.googlesource.com\"+fileA['href']\n",
    "            fileLinks.append(fileLink)\n",
    "            fileName = fileA.get_text()\n",
    "            fileNames.append(fileName)\n",
    "        return fileLinks,fileNames\n",
    "    except HTTPError as e:\n",
    "        if e.code == 429:\n",
    "            time.sleep(10)\n",
    "            return get_source_file_link(url)\n",
    "        elif e.code == 404:\n",
    "            print(\"\\n not found:\" + url+ \"！\")\n",
    "            return \"\"\n",
    "        elif e.code == 403:\n",
    "            time.sleep(600)\n",
    "            return get_source_file_link(url)\n",
    "        else:\n",
    "            traceback.print_exc(file=sys.stdout)\n",
    "            print(\"reason\", e)\n",
    "            return \"\"\n",
    "        raise\n",
    "    except Exception as e:\n",
    "        traceback.print_exc(file=sys.stdout)\n",
    "        print(\"reason\", e)\n",
    "        print(\"\\n skip get_lang:\"+url+ \"！\")\n",
    "        return \"\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "def diff_to_diff_message_with_diff_unified(diffLink,codeLink):\n",
    "    try:\n",
    "        projectSoup=BeautifulSoup(urlopen(Request(diffLink,\n",
    "                              headers={'User-Agent': 'Mozilla/5.0'})).read(),\n",
    "                              'html.parser')\n",
    "        diff_unified_divs = projectSoup.findAll('pre', class_='u-pre u-monospace Diff-unified')\n",
    "        fileLinks, fileNames = get_source_file_link(codeLink)\n",
    "        zipped = zip(fileLinks, fileNames,diff_unified_divs)\n",
    "        files_changed = \"\"\n",
    "        count = 0\n",
    "        for fileLink, fileName,diff_unified_div in zipped:\n",
    "            count +=1\n",
    "            file_dic = {}\n",
    "            file_dic[\"filename\"] = fileName\n",
    "            file_dic[\"raw_url\"] =fileLink\n",
    "            diff_unified_spans = diff_unified_div.findAll('span')\n",
    "            if not diff_unified_spans:\n",
    "                continue\n",
    "            diff_unified_message = \"\"\n",
    "            for diff_unified_span in diff_unified_spans:\n",
    "                diff_unified_message = diff_unified_message + diff_unified_span.get_text() + \"\\n\"\n",
    "            file_dic[\"patch\"] = diff_unified_message\n",
    "            if count<len(list(zipped)):\n",
    "                files_changed = files_changed + str(file_dic) +\"<_**next**_>\"\n",
    "            else:\n",
    "                files_changed = files_changed + str(file_dic)\n",
    "            print (files_changed)\n",
    "        return files_changed\n",
    "    except HTTPError as e:\n",
    "        if e.code == 429:\n",
    "            time.sleep(10)\n",
    "            return diff_to_diff_message_with_diff_unified(diffLink)\n",
    "        if e.code == 404:\n",
    "            print(\"\\n not found:\" + diffLink + \"！\")\n",
    "            return \"\"\n",
    "        elif e.code == 403:\n",
    "            time.sleep(600)\n",
    "            return diff_to_diff_message_with_diff_unified(url)\n",
    "        else:\n",
    "            traceback.print_exc(file=sys.stdout)\n",
    "            print(\"reason\", e)\n",
    "            return \"\"\n",
    "        raise\n",
    "        raise\n",
    "    except Exception as e:\n",
    "        traceback.print_exc(file=sys.stdout)\n",
    "        print(\"reason\", e)\n",
    "        print(\"\\n skip diff_to_diff_message:\"+diffLink+ \"！\")\n",
    "        return \"\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'filename': 'packages/WAPPushManager/src/com/android/smspush/WapPushManager.java', 'raw_url': 'https://android.googlesource.com/platform/frameworks/base/+/48ed835468c6235905459e6ef7df032baf3e4df6/packages/WAPPushManager/src/com/android/smspush/WapPushManager.java', 'patch': '@@ -117,14 +117,18 @@\\n\\n          */\\n         protected queryData queryLastApp(SQLiteDatabase db,\\n                 String app_id, String content_type) {\\n-            String sql = \"select install_order, package_name, class_name, \"\\n-                    + \" app_type, need_signature, further_processing\"\\n-                    + \" from \" + APPID_TABLE_NAME\\n-                    + \" where x_wap_application=\\\\\\'\" + app_id + \"\\\\\\'\"\\n-                    + \" and content_type=\\\\\\'\" + content_type + \"\\\\\\'\"\\n-                    + \" order by install_order desc\";\\n-            if (DEBUG_SQL) Log.v(LOG_TAG, \"sql: \" + sql);\\n-            Cursor cur = db.rawQuery(sql, null);\\n+            if (LOCAL_LOGV) Log.v(LOG_TAG, \"queryLastApp app_id: \" + app_id\\n+                    + \" content_type: \" +  content_type);\\n+\\n+            Cursor cur = db.query(APPID_TABLE_NAME,\\n+                    new String[] {\"install_order\", \"package_name\", \"class_name\",\\n+                    \"app_type\", \"need_signature\", \"further_processing\"},\\n+                    \"x_wap_application=? and content_type=?\",\\n+                    new String[] {app_id, content_type},\\n+                    null /* groupBy */,\\n+                    null /* having */,\\n+                    \"install_order desc\" /* orderBy */);\\n+\\n             queryData ret = null;\\n \\n             if (cur.moveToNext()) {\\n@@ -392,10 +396,20 @@\\n\\n         SQLiteDatabase db = dbh.getReadableDatabase();\\n         WapPushManDBHelper.queryData lastapp = dbh.queryLastApp(db, x_app_id, content_type);\\n \\n+        if (LOCAL_LOGV) Log.v(LOG_TAG, \"verifyData app id: \" + x_app_id + \" content type: \" +\\n+                content_type + \" lastapp: \" + lastapp);\\n+\\n         db.close();\\n \\n         if (lastapp == null) return false;\\n \\n+        if (LOCAL_LOGV) Log.v(LOG_TAG, \"verifyData lastapp.packageName: \" + lastapp.packageName +\\n+                \" lastapp.className: \" + lastapp.className +\\n+                \" lastapp.appType: \" + lastapp.appType +\\n+                \" lastapp.needSignature: \" + lastapp.needSignature +\\n+                \" lastapp.furtherProcessing: \" + lastapp.furtherProcessing);\\n+\\n+\\n         if (lastapp.packageName.equals(package_name)\\n                 && lastapp.className.equals(class_name)\\n                 && lastapp.appType == app_type\\n'}\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'{\\'filename\\': \\'packages/WAPPushManager/src/com/android/smspush/WapPushManager.java\\', \\'raw_url\\': \\'https://android.googlesource.com/platform/frameworks/base/+/48ed835468c6235905459e6ef7df032baf3e4df6/packages/WAPPushManager/src/com/android/smspush/WapPushManager.java\\', \\'patch\\': \\'@@ -117,14 +117,18 @@\\\\n\\\\n          */\\\\n         protected queryData queryLastApp(SQLiteDatabase db,\\\\n                 String app_id, String content_type) {\\\\n-            String sql = \"select install_order, package_name, class_name, \"\\\\n-                    + \" app_type, need_signature, further_processing\"\\\\n-                    + \" from \" + APPID_TABLE_NAME\\\\n-                    + \" where x_wap_application=\\\\\\\\\\\\\\'\" + app_id + \"\\\\\\\\\\\\\\'\"\\\\n-                    + \" and content_type=\\\\\\\\\\\\\\'\" + content_type + \"\\\\\\\\\\\\\\'\"\\\\n-                    + \" order by install_order desc\";\\\\n-            if (DEBUG_SQL) Log.v(LOG_TAG, \"sql: \" + sql);\\\\n-            Cursor cur = db.rawQuery(sql, null);\\\\n+            if (LOCAL_LOGV) Log.v(LOG_TAG, \"queryLastApp app_id: \" + app_id\\\\n+                    + \" content_type: \" +  content_type);\\\\n+\\\\n+            Cursor cur = db.query(APPID_TABLE_NAME,\\\\n+                    new String[] {\"install_order\", \"package_name\", \"class_name\",\\\\n+                    \"app_type\", \"need_signature\", \"further_processing\"},\\\\n+                    \"x_wap_application=? and content_type=?\",\\\\n+                    new String[] {app_id, content_type},\\\\n+                    null /* groupBy */,\\\\n+                    null /* having */,\\\\n+                    \"install_order desc\" /* orderBy */);\\\\n+\\\\n             queryData ret = null;\\\\n \\\\n             if (cur.moveToNext()) {\\\\n@@ -392,10 +396,20 @@\\\\n\\\\n         SQLiteDatabase db = dbh.getReadableDatabase();\\\\n         WapPushManDBHelper.queryData lastapp = dbh.queryLastApp(db, x_app_id, content_type);\\\\n \\\\n+        if (LOCAL_LOGV) Log.v(LOG_TAG, \"verifyData app id: \" + x_app_id + \" content type: \" +\\\\n+                content_type + \" lastapp: \" + lastapp);\\\\n+\\\\n         db.close();\\\\n \\\\n         if (lastapp == null) return false;\\\\n \\\\n+        if (LOCAL_LOGV) Log.v(LOG_TAG, \"verifyData lastapp.packageName: \" + lastapp.packageName +\\\\n+                \" lastapp.className: \" + lastapp.className +\\\\n+                \" lastapp.appType: \" + lastapp.appType +\\\\n+                \" lastapp.needSignature: \" + lastapp.needSignature +\\\\n+                \" lastapp.furtherProcessing: \" + lastapp.furtherProcessing);\\\\n+\\\\n+\\\\n         if (lastapp.packageName.equals(package_name)\\\\n                 && lastapp.className.equals(class_name)\\\\n                 && lastapp.appType == app_type\\\\n\\'}'"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "diff_to_diff_message_with_diff_unified(\"https://android.googlesource.com/platform/frameworks/base/+/48ed835468c6235905459e6ef7df032baf3e4df6%5E%21/\",\"https://android.googlesource.com/platform/frameworks/base/+/48ed835468c6235905459e6ef7df032baf3e4df6\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 251,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "a\n",
      "b\n",
      "DO NOT MERGE Change to add STK_PERMISSION for stk related commands.\n",
      "\n",
      "Bug: 21697171\n",
      "Change-Id: I7649c7341428194963ac74e9ae622dfa76ea738b\n",
      "\n",
      "------------------\n",
      "diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml\n",
      "index ccdb5db..baa4e24 100644\n",
      "--- a/core/res/AndroidManifest.xml\n",
      "+++ b/core/res/AndroidManifest.xml\n",
      "\n",
      "\n",
      "------------------\n",
      "@@ -1333,6 +1333,11 @@\n",
      "\n",
      "                 android:description=\"@string/permdesc_control_incall_experience\"\n",
      "                 android:label=\"@string/permlab_control_incall_experience\" />\n",
      " \n",
      "+    <!-- Allows an application to receive STK related commands.\n",
      "+         @hide -->\n",
      "+    <permission android:name=\"android.permission.RECEIVE_STK_COMMANDS\"\n",
      "+        android:protectionLevel=\"system|signature\" />\n",
      "+\n",
      "     <!-- ================================== -->\n",
      "     <!-- Permissions for sdcard interaction -->\n",
      "     <!-- ================================== -->\n",
      "\n",
      "------------------\n",
      "https://android.googlesource.com/platform/frameworks/base/+/a5e904e7eb3aaec532de83ca52e24af18e0496b4%5E/\n",
      "------------------\n",
      "https://android.googlesource.com/platform/frameworks/base/+/a5e904e7eb3aaec532de83ca52e24af18e0496b4/\n",
      "------------------\n",
      "done 0\n",
      "done\n"
     ]
    }
   ],
   "source": [
    "for index, row in android_csv.iterrows():\n",
    "    commitUrl = row[\"codeLink\"]\n",
    "    diffLink = commit_to_diff(commitUrl)\n",
    "    cveID = row[\"CVE ID\"]\n",
    "    main_path_str = str(index)+cveID\n",
    "    if diffLink:\n",
    "        # write filles\n",
    "        diff_to_file(diffLink, main_path_str)\n",
    "\n",
    "        # a piece of commit message\n",
    "        commit_message = diff_to_commit_message(diffLink)\n",
    "\n",
    "        # diff messages (one piece)\n",
    "        diff_message = diff_to_diff_message(diffLink)\n",
    "\n",
    "        # unified diff message (one piece)\n",
    "        diff_unified = diff_to_diff_unified(diffLink)\n",
    "\n",
    "        # two links string s,s\n",
    "        after, before = diff_to_project(diffLink)\n",
    "        \n",
    "        android_csv.loc[index,\"commit_message\"] = commit_message\n",
    "        print(commit_message)\n",
    "        print(\"------------------\")\n",
    "        android_csv.loc[index,\"diff_message\"] = diff_message\n",
    "        print(diff_message)\n",
    "        print(\"------------------\")\n",
    "        android_csv.loc[index,\"diff_unified\"] = diff_unified\n",
    "        print(diff_unified)\n",
    "        print(\"------------------\")\n",
    "        android_csv.loc[index,\"project_before\"] = before\n",
    "        print(before)\n",
    "        print(\"------------------\")\n",
    "        android_csv[index,\"project_after\"] = after\n",
    "        print(after)\n",
    "        print(\"------------------\")\n",
    "        print(\"done\",index)\n",
    "print(\"done\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 252,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>Access Gained</th>\n",
       "      <th>Attack Origin</th>\n",
       "      <th>Authentication Required</th>\n",
       "      <th>Availability</th>\n",
       "      <th>CVE ID</th>\n",
       "      <th>CVE Page</th>\n",
       "      <th>CWE ID</th>\n",
       "      <th>Complexity</th>\n",
       "      <th>Confidentiality</th>\n",
       "      <th>...</th>\n",
       "      <th>Score</th>\n",
       "      <th>Summmary</th>\n",
       "      <th>Update Date</th>\n",
       "      <th>Vulnerability Classification</th>\n",
       "      <th>codeLink</th>\n",
       "      <th>commit_message</th>\n",
       "      <th>diff_message</th>\n",
       "      <th>diff_unified</th>\n",
       "      <th>project_before</th>\n",
       "      <th>project_after</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>31</td>\n",
       "      <td>None</td>\n",
       "      <td>Local</td>\n",
       "      <td>Not required</td>\n",
       "      <td>None</td>\n",
       "      <td>CVE-2014-8610</td>\n",
       "      <td>https://www.cvedetails.com/cve/CVE-2014-8610/</td>\n",
       "      <td>CWE-264</td>\n",
       "      <td>Medium</td>\n",
       "      <td>Partial</td>\n",
       "      <td>...</td>\n",
       "      <td>3.3</td>\n",
       "      <td>AndroidManifest.xml in Android before 5.0.0 do...</td>\n",
       "      <td>2014-12-16</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "      <td>DO NOT MERGE Change to add STK_PERMISSION for ...</td>\n",
       "      <td>diff --git a/core/res/AndroidManifest.xml b/co...</td>\n",
       "      <td>@@ -1333,6 +1333,11 @@\\n\\n                 and...</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "      <td>https://android.googlesource.com/platform/fram...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1 rows × 23 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   Unnamed: 0 Access Gained Attack Origin Authentication Required  \\\n",
       "0          31          None         Local            Not required   \n",
       "\n",
       "  Availability         CVE ID                                       CVE Page  \\\n",
       "0         None  CVE-2014-8610  https://www.cvedetails.com/cve/CVE-2014-8610/   \n",
       "\n",
       "    CWE ID Complexity Confidentiality  ... Score  \\\n",
       "0  CWE-264     Medium         Partial  ...   3.3   \n",
       "\n",
       "                                            Summmary Update Date  \\\n",
       "0  AndroidManifest.xml in Android before 5.0.0 do...  2014-12-16   \n",
       "\n",
       "   Vulnerability Classification  \\\n",
       "0                           NaN   \n",
       "\n",
       "                                            codeLink  \\\n",
       "0  https://android.googlesource.com/platform/fram...   \n",
       "\n",
       "                                      commit_message  \\\n",
       "0  DO NOT MERGE Change to add STK_PERMISSION for ...   \n",
       "\n",
       "                                        diff_message  \\\n",
       "0  diff --git a/core/res/AndroidManifest.xml b/co...   \n",
       "\n",
       "                                        diff_unified  \\\n",
       "0  @@ -1333,6 +1333,11 @@\\n\\n                 and...   \n",
       "\n",
       "                                      project_before  \\\n",
       "0  https://android.googlesource.com/platform/fram...   \n",
       "\n",
       "                                       project_after  \n",
       "0  https://android.googlesource.com/platform/fram...  \n",
       "\n",
       "[1 rows x 23 columns]"
      ]
     },
     "execution_count": 252,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "android_csv"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
